文章來源: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