fgh151 / yii2-s3-upload
Yii2 S3 upload extension
Installs: 499
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- aws/aws-sdk-php: ^3.133
- yiisoft/yii2: ~2.0.0
This package is auto-updated.
Last update: 2024-09-29 05:36:04 UTC
README
S3 upload extension
Installation
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist fgh151/yii2-s3-upload "*"
or add
"fgh151/yii2-s3-upload": "*"
to the require section of your composer.json
file.
Usage
Add component to config file :
<?= 'components' => [ 'storage' => [ 'class' => fgh151\yii2\s3upload\S3Storage::class, 'key' => 's3-api-key', 'secret' => 's3-api-secret', 'bucket' => 'bucket-name' //You may also change region, provider, etc ], ] ?>
Your form model:
class FormModel extends \yii\db\ActiveRecord { public $uploadImage; public $pathToImage; public function rules() { return [ ['uploadImage', 'file', 'extensions' => ['png', 'jpg', 'jpeg']], ]; } public function behaviors() { return [ [ 'class' => fgh151\yii2\s3upload\S3UploadBehavior::class, //Behavior class 'attribute' => 'uploadImage', 'storageAttribute' => 'pathToImage', //Entity indefier in mapping clas ], ]; } public function afterSave($insert,$changedAttributes){ parent::afterSave($insert,$changedAttributes); if ($this->pathToImage !== null) { //TODO: save $this->pathToImage } } }
Form field example:
<?= $form->field($model, 'uploadImage')->fileInput() ?>