Download the PHP package fabriziocaldarelli/yii2-file-upload without Composer
On this page you can find all versions of the php package fabriziocaldarelli/yii2-file-upload. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fabriziocaldarelli/yii2-file-upload
More information about fabriziocaldarelli/yii2-file-upload
Files in fabriziocaldarelli/yii2-file-upload
Package yii2-file-upload
Short Description File upload for Yii2
License MIT
Informations about the package yii2-file-upload
File upload for Yii2
Single and Multiple file upload handler for Yii2
Installation
The preferred way to install this extension is through composer.
Either run
or add
to the require section of your composer.json
file.
Configuration
Once the extension is installed, configure it in config\main.php setting imageBaseUrl, fileUploadBasePath and fileUploadBaseUrl :
1) Add fileUploader module to config.php
2) Add the module in bootstrap section of config\main.php
3) Apply database migration
Changes to Model, View and Controller
I suggest to create ModelForm class that extends Model class and add an attribute to handle files (in this case, 'photo')
If you need to update other fields on database, sync() method has a last parameter $options that has this structure:
filter->andWhere data contains other field to match the record, saveFields contains set of key=>value fields to insert/update.
Changes to Model
It can be used rules validation base on file, such as:
Changes to View
Add an formSessionId hidden input field to manage (eventually!) multiple browser tabs opened in same web page (with form upload). Then can insert your own file input widget or use that provided by the extension, derived from KartikFileInput
This widget is automatically configure to get validation rules from Model.
Changes to Controller
Create and Update actions content is the same of standard.
Tabular form
In case of tabular form (multiple instances of same Model inside the same form), only the action inside the controller has to be modified. Here an example:
Changes to Controller
Models from multiple files
When you need to store multiple models from multiple files, this is the right approach:
Changes to Model Inside the model, in load() you will pass an extra parameter to identify which $_FILES index to use
Changes to Controller In Controller, you will add fileInputIndexName to pass index of $_FILES where get file data