我正在使用Laravel + Slim構建應用程序。如何使用Laravel&Slim從發佈請求中獲取文件屬性
我有文件上傳表單,我成功設法從文本輸入的信息:
$request = $app->request;
$title = $request->post('title');
但我怎麼可以從文件中輸入得到這樣的大小,名稱tmp_name的值等屬性?
我發現this問題,並試圖這樣的,但我得到這個錯誤:
致命錯誤:調用未定義的方法修身\ HTTP \支持::文件()
我正在使用Laravel + Slim構建應用程序。如何使用Laravel&Slim從發佈請求中獲取文件屬性
我有文件上傳表單,我成功設法從文本輸入的信息:
$request = $app->request;
$title = $request->post('title');
但我怎麼可以從文件中輸入得到這樣的大小,名稱tmp_name的值等屬性?
我發現this問題,並試圖這樣的,但我得到這個錯誤:
致命錯誤:調用未定義的方法修身\ HTTP \支持::文件()
有幾個方法,你可以在使用laravel's上傳一些文件時應用。 在我的想法中,這是他們中的幾個,也是最重要的。
$request->hasFile('file_name')
hasFile
檢查用戶上傳文件的方法。
$request->file('file_name')->isValid()
isValid
方法照顧檢查文件中有任何錯誤。
這些檢查後,您必須獲取文件屬性並移動到所需的位置。爲了這些目的。
$document = $request->file('file_name');
獲取文檔信息對象。所以之後你可以使用我的laravel FileUploader提供的輔助函數。
$document->getRealPath();
$document->getClientOriginalName();
$document->getClientOriginalExtension();
$document->getSize();
$document->getMimeType();
終於將上傳的文件
$document->move($destinationPath);
$document->move($destinationPath, $fileName);
但是如果使用超薄上傳文件,你必須使用本地PHP方法,如全局Files
陣列獲取文件和move_uploaded_file移動文件並像這樣。
如果您還有任何與上傳文件或文件驗證相關的問題,請告訴我。
嗨,謝謝!正在使用本機php方法(FILES數組)。我想得太過分了 – NicuVlad
您正在使用什麼版本的Slim? –