我的文件上传似乎无法正常工作。文件的功能[例如$ file-> getOriginalExtension();]返回错误。
以下是我的观点:
<form class="form-horizontal" method="POST" action="/project/file_post.php" enctype="multipart/form-data">
<---other text inputs--->
Photo: <input type="file" name="photo" />
<input type="submit" class="btn btn-success btn-inline" value="SAVE ">
</form>
控制器:
//code below returns only the filename
$input = Input::all();
$file = array_get($input,'photo');
print_r($file);
//but when using this..it returns an error
$extension = $file->getClientOriginalExtension();
DD($ input)返回:
array:8 [▼
"_token" => "6eScEZe1SLL72JDrQjmBJllNyiHaT8hdGKKMtjsD"
"photo" => "test_test_2016.jpg"
"field2" => "test"
"field3" => "test"
"field4" => "test"
"field5" => "test"
"field6" => "test"
"field7" => "test"
]
我做错了吗?它返回文件的文件名,但是当使用这些函数时,它会返回各种错误(例如,在字符串上调用成员函数getClientOriginalExtension())
你能帮帮忙吗?谢谢!附录:
$photo = $request->file('photo');
echo $photo;
上面的代码也不起作用。没有错误。只返回空白。
答案 0 :(得分:0)
根据你的laravel版本,你需要使用Input :: file,所以在你的控制器中使用这样的东西
if (Input::hasFile('photo')) {
$photoFile = Input::file('photo');
$extension = $photoFile->getClientOriginalExtension();
}
答案 1 :(得分:0)
请求$ request为我工作。
if($ request-&gt; hasFile(&#39; photo&#39;)){$ photoExt = $请求 - &GT;文件(&#39;相片&#39;) - &GT; getClientOriginalExtension(); }