laravel處理檔案上傳

alices_lin發表於2017-03-11

public function upload(Request $request){
	$file = $request->file('file')			//file對應是頁面上input name="file"
	$fileName = $file->getClientOriginalName();
	$ext = substr($fileName,strrpos($fileName,'.')+1);	//查詢點最後所在的位置並擷取點後面的字串,獲取字尾名
	if($ext !='xls' || $ext != 'xlsx'){						//限制上傳檔案的型別
		return response()->json(
			[
				'code' => 202
			];
		);
	}
	if(!$request->hasFile('file')){
		//驗證檔案是否存在
	}
	if(!$request->file('file')->isValid()){
		//驗證檔案是否上傳成功
	}
	$destPath = base_path('public/uploads');		//base_path()獲取專案跟目錄
	if(!file_exists($destPath)){
		mkdir($destPath,0755,true)				//建立目錄
	}
	if(!$file->move($destPath,$fileName){
		//檔案移動失敗
	}
	//檔案上傳成功後處理邏輯
}

相關文章