Yii2 behavior for file saving in model
Russian, (*1)
Install by composer
composer require oleg-chulakov-studio/yii2-filesaver, (*2)
Or add this code into require section of your composer.json and then call composer update in console
"oleg-chulakov-studio/yii2-filesaver": "*", (*3)
Usage
php
public function behaviors()
{
return [
....
[
'class' => FileSaverBehavior::className(),
'group_type' => 'photo',
'in_attribute' => 'photoFile',
'out_attribute' => 'photo_id',
'del_attribute' => 'photoDel',
'allowedExtensions' => [
'png',
'jpeg',
'jpg'
]
],
...
];
}
- In model add fields
```php
/**
* @var UploadedFile
/**
$photoFile;, (*4)
/**
* @var boolean
/**
$photoDel;
```, (*5)
Example usage
-
saving by url, (*6)
$model = new TestModel();
$model->photoFile = new \sem\filestorage\adapters\RemoteFile($url);
$model->save();
-
saving by upload in form, (*7)
$model = new TestModel();
$model->photoFile = UploadedFile::getInstance($model, 'photoFile');
$model->save();