UploadFileBehavior for Yii2 ¶
UploadFileBehavior
is a Yii2 behavior designed to streamline the process of uploading files and/or images. It manages the processing and storage of files associated with an ActiveRecord model.
Features ¶
- File uploading for ActiveRecord models.
- Customizable file saving steps.
- Thumbnail generation.
- Option to rename uploaded files.
- Ability to delete files when associated records are deleted.
- Automatic cleanup of directories during updates.
Installation ¶
The preferred way to install this extension is through composer.
composer require "exocet/yii2-upload-file-behavior"
Setup and Configuration ¶
Include new behavior:
`
php use exocet\yii2UploadFileBehavior\UploadFileBehavior;`
Add the upload file attribute to your model:
`
php public $upload_file;`
Add safety rules for your image path or similar:
`
php [['image_path'], 'safe'],`
Attach the behavior to your model:
`
php public function behaviors() {return [ 'uploadFileBehavior' => [ 'class' => UploadFileBehavior::className(), 'nameOfAttributeStorage' => 'image_path', //... other configurations ], ];
}
`
Configuration Options ¶
Here's a quick run-through of the configuration options:
modelAttributeForFile
: (string) The model's attribute to receive the file from the form. Defaults to'upload_file'
.modelAttributeForStorage
: (string) The model's attribute to store the file path or reference. Defaults to'images'
.newFileName
: (bool|string) A new filename to save the uploaded file as. Defaults tofalse
(meaning it won't rename).steps
: (array) Configurations detailing where and how to save the uploaded file. This can include thumbnail generation, different save paths, etc.thumbnailPrefix
: (string) Prefix for generated thumbnails. Defaults to'thumb-'
.originalPrefix
: (string) Prefix to use when saving a copy of the original image. Defaults to'original-'
.scenarios
: (array) Scenarios under which this behavior will be triggered. Defaults to['default']
.deleteImageWithRecord
: (bool) Whether or not to delete the file when the associated record is deleted. Defaults tofalse
.cleanDirWithUpdate
: (bool) Whether or not to clean the upload directory when updating files. Defaults tofalse
.
For more in-depth examples and how to set up the steps
configuration, refer to the example given in the code comments.
Contribution ¶
Feel free to contribute to this project by opening issues, pull requests, or providing feedback. Your contributions are welcome!
Designed with :heart: for Yii2 developers.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.