1. 程式人生 > >TP5之圖片上傳

TP5之圖片上傳

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代表支援上傳的型別

還有第三個引數上開發手冊去查吧