laravel 文件上傳驗證規則

public function upload()
    {
         $file = Input::file('Filedata');
         if($file->isValid()){
             $extension = $file->getClientOriginalExtension();
             $newName = date('YmdHis').mt_rand(100,999).".".$extension;
             $path = $file->move(base_path()."/uploads",$newName);
             $filepath = 'uploads/'.$newName;
             return $filepath;
             /*//檢驗上傳的文件是否有效
             $clientName = $file->getClientOriginalName();//獲取文件名稱
             $tmpName = $file->getFileName();  //緩存在tmp文件中的文件名 例如 php9732.tmp 這種類型的
             $realPath = $file->getRealPath();  //這個表示的是緩存在tmp文件夾下的文件絕對路徑。
             $entension = $file->getClientOriginalExtension(); //上傳文件的後綴
             $mimeType = $file->getMimeType(); //得到的結果是imgage/jpeg
             $path = $file->move('storage/uploads');
             //如果這樣寫的話,默認會放在我們 public/storage/uploads/php9372.tmp
             //如果我們希望將放置在app的uploads目錄下 並且需要改名的話
             $path = $file->move(app_path().'/uploads'.$newName);
             //這裏app_path()就是app文件夾所在的路徑。$newName 可以是通過某種算法獲得的文件名稱
             //比如 $newName = md5(date('YmdHis').$clientName).".".$extension;*/$size = $file->getSize();
             if ($size > 1 * 1024 * 1024) {
              return ['status' => '1008', 'message' => '圖片不能大於1M'];
              }
         }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章