Recently, I am working on a project with multiple file uploads. I came up with a short script. If you have a table that contains many local file fields/columns, you can use it. I don't know if this is the final solution, but it works well for me. Next let's start
Hello everyone,
Recently, I am working on a project with multiple file uploads. I came up with a short script. If you have a table that contains many local file fields/columns, you can use it. I don't know if this is the final solution, but it works well for me. Next let's start
In the controller, you need to call the myFileHandler method that only contains the file upload field.
So he will be
public function actionIndex(){ ................ $model = $this->myFileHandler($model, array('logo','emailus_img','emailus_img_hover','more_img','more_img_hover','gomo_logo','mobile_phone_img','animate_on_mobile_img','animate_above_text_img','animate_under_text_img','bottom_right_img')); .............. }
public function myFileHandler($model, $imgFieldNameArr){ foreach($imgFieldNameArr as $attribute){ $instance = CUploadedFile::getInstance($model, $attribute); if($instance){ $fullImgName = time().'_'.$attribute.'.'.$instance->getExtensionName(); $fullImgSource = Yii::getPathOfAlias('webroot').'/media/images/'.$fullImgName; $instance->saveAs($fullImgSource); $model->$attribute = $fullImgName; } } return $model; //return model with updated file path }
I hope this tips will help you.