S3 Storage SDK for working with AWS S3 Storage.
The documentation for the AWS S3 Storage Api can be found here.
The preferred way to install this extension is through composer.
Either run
composer require idapgroup/s3-storage-sdk
or add
{
"require": {
"idapgroup/s3-storage-sdk": "^1.0.0"
}
}
to the requirement section of your composer.json
file.
<?php
require 'vendor/autoload.php';
use IdapGroup\S3StorageSdk\Storage\S3Storage;
$s3Client = new S3Client([
'region' => 'S3_REGION',
'version' => 'S3_API_VERSION',
'credentials' => [
'key' => 'S3_KEY',
'secret' => 'S3_SECRET'
],
]);
$readStorage = new S3Storage($s3Client, 'S3_READ_BUCKET', 'S3_REGION');
$writeStorage = new S3Storage($s3Client, 'S3_WRITE_BUCKET', 'S3_REGION');
// Create an instance of class that implements UploadedFileInterface
$file = new UploadedFile();
$readStorage->save($file, 'filename');
// Create an instance of class that implements S3FileInterface or extends S3File
$imageFile = new S3File('file_path', $writeStorage->getBucket());
$readStorage->transfer($imageFile);
$readStorage->delete('file_path');
$readStorage->has('file_path');
$readStorage->get('file_path');
$bucketName = $readStorage->getBucket();
$bucketRegion = $readStorage->getRegion();
$bucketName = $writeStorage->buildPutUrl('filename');