TP5之圖片上傳
阿新 • • 發佈:2019-01-07
TP5 圖片上傳
HTML程式碼如下:<input name="photo" type="file" onchange="showPreview(this)"/>
TP5控制器程式碼如下:
$file = request()->file("photo"); if($file){ $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads'); if($info){ // 成功上傳後 獲取上傳資訊 // 輸出 jpg echo $info->getExtension(); // 輸出 20160820/42a79759f284b767dfcb2a0197904287.jpg echo $info->getSaveName(); // 輸出 42a79759f284b767dfcb2a0197904287.jpg echo $info->getFilename(); }else{ // 上傳失敗獲取錯誤資訊 echo $file->getError(); } } }
如果大家出現了上傳圖片之後圖片沒有被存下來,或者出現
Call to a member function move() on null
這種情況的時候,其實是$file變數是空的,其實是表單中不記得寫enctype="multipart/form-data"
這個屬性了,這是一個挺愚蠢的事情,但是我一個晚上居然犯了兩次,被自己蠢哭了
如果想要呼叫上傳照片時候的限制的話這樣
$info = $file->validate(['size'=>5242880,'ext'=>'jpg,png,gif'])->move(ROOT_PATH.'public'.DS.'uploads'其中引數size代表上傳的照片最大大小,ext代表支援上傳的型別);
還有第三個引數上開發手冊去查吧