大家好,
最近我在做一个有多文件上传的项目。我想出了一个简短的脚本。如果你有一个包含许多本地文件 字段/列 的表,你可以使用它。我不知道这是不是最后的解决方法,但对于我来说它工作的很好。接下来让我们开始
在控制器中你需要调用 只有文件上传字段的myFileHandler方法
所以,他会是
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 }
我希望这个小技巧将帮助您.