在Laravel中尝试多个文件上传,因此我的视图代码是
<input type="file" name="photos">
但是我面临这个问题而不能确切的类型..?
$img = $request->file('photos');
$fileExtension=$img->getClientOriginalExtension();
答案 0 :(得分:1)
如果您要张贴单张图片。你试试这个代码: -
if($request->hasFile('photos')){
if (Input::file('photos')->isValid()) {
$file = Input::file('photos');
$destination = 'images/Foldername'.'/';
$ext= $file->getClientOriginalExtension();
$mainFilename = str_random(6).date('h-i-s');
$file->move($destination, $mainFilename.".".$ext);
echo "uploaded successfully";
}
}
确保您已在表单中添加了enctype: -
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="photos">
</form>
如果要上传多张图片。试试这个代码: -
if ($request->hasFile('photos')) {
$files = $request->file('photos');
foreach($files as $file){
$filename = $file->getClientOriginalName();
$extension = $file->getClientOriginalExtension();
$fileName = str_random(5)."-".date('his')."-".str_random(3).".".$extension;
$destinationPath = 'images/Foldername'.'/';
$file->move($destinationPath, $fileName);
}
}
表单必须如下所示: -
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="photos[]" multiple>
</form>
希望它有所帮助!
答案 1 :(得分:0)
在$img
你有一个数组。你应该使用像foreach
这样的循环来操作$img