文章来源:http://blog.sina.com.cn/s/blog_88a65c1b0101izmn.htmlphp
下面小伙就带领大学学习一下 Yii2.0 的图片上传类的使用,仍是老样子,若是代码样式混乱,我会附上截图供你们学习。
一、UserController.php 很重要的一步,那就是 use yii\web\UploadedFile; html
public function actionUpload(){ $model = new User(); user 为用户表model; if ($model->load(Yii::$app->request->post()) && $model->validate()) { $upload = $this->uploadedFile($model, 'image'); $uploadpath = $this->fileExists('./images/' . date('Ymd') . '/'); 上传路径 if($model->save()){ $upload->saveAs($uploadpath . $upload->name); } } } public function uploadedFile($model, $item) { $upload = UploadedFile::getInstance($model, $item); $model->image = $upload->name; return $upload; } public function fileExists($uploadpath) { if(!file_exists($uploadpath)){ mkdir($uploadpath); } return $uploadpath; }
上面只是简单的列出了使用方法,不够详细。在实际开发中须要本身去添加一些验证等等的......下面我简单的解释一下上面的代码。
一、首先咱们要生成一个 数据model 的实例 这里我以user 模型作例子
二、而后咱们调用 uploadedFile 类,把 UploadedFile类实例化一个对象,顺便把 数据模型里面的 image 参数进行填充数据,就是赋值。
三、调用 UploadedFile 类下面的 saveAs() 方法,将图片保存到你先要存放的目录下便可
四、在 Liunx 下开发过程当中,也许会遇到权限问题,将目录权限进行设置便可。web