idapgroup / s3-storage-sdk
A PHP wrapper for S3 Storage
1.0.0
2023-02-27 13:42 UTC
Requires
- php: >=7.4
- aws/aws-sdk-php: ^3.147
Requires (Dev)
- phpunit/phpunit: ^9.6.3
This package is auto-updated.
Last update: 2025-03-10 17:07:49 UTC
README
S3 Storage SDK for working with AWS S3 Storage.
Documentation
The documentation for the AWS S3 Storage Api can be found here.
Installation
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.
Quickstart
Create a S3 Storage
<?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');
Examples
Save file
// Create an instance of class that implements UploadedFileInterface $file = new UploadedFile(); $readStorage->save($file, 'filename');
Transfer the file to the file storage
// Create an instance of class that implements S3FileInterface or extends S3File $imageFile = new S3File('file_path', $writeStorage->getBucket()); $readStorage->transfer($imageFile);
Delete the file from the file storage
$readStorage->delete('file_path');
Check the existence of the file in the file storage
$readStorage->has('file_path');
Get the file
$readStorage->get('file_path');
Get the bucket name
$bucketName = $readStorage->getBucket();
Get the bucket region
$bucketRegion = $readStorage->getRegion();
Build URL to manual upload a file
$bucketName = $writeStorage->buildPutUrl('filename');