indielab / yii2s3
Yii 2 S3 Component
Installs: 18 917
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 4
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- php: ^8.2
- aws/aws-sdk-php: ^3.0
- yiisoft/yii2: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.40
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^11.1
- rector/rector: ^1.0
README
This component allows you to work with the amazon AWS S3 buckets for uploading and finding files.
Installation
Add the the package to your composer file:
composer require indielab/yii2s3
Add the component to your application configuration file:
'components' => [ // ... 's3' => [ 'class' => \indielab\yii2s3\S3::class, 'bucket' => 'mybucket', 'key' => 'KEY', 'secret' => 'SECRET', 'region' => 'eu-central-1', ], // ... ]
Usage
Using the component in order to upload a file:
Yii::$app->s3->upload('path/to/the/file.jpg');
Where file.jpg will be used as the key of the uploading file. Now in order to get the url to a key use:
$url = Yii::$app->s3->url('file.jpg');
Configure Uploading
You can also provide more options to the uploading configuration method:
Yii::$app->s3->upload('path/to/the/file.jpg', [ 'override' => true, // whether existing file should be overriden or not 'Key' => 'CacheControlTestFile.txt', // Define a specific name for the file instead of the source file name 'CacheControl' => 'max-age=' . strtotime('+1 year') // Add cache controler options ]);