在laravel中调用成员函数getClientOriginalExtension()?

时间:2018-01-31 08:08:21

标签: php laravel-5

在Laravel中尝试多个文件上传,因此我的视图代码是

<input type="file" name="photos">

但是我面临这个问题而不能确切的类型..?

   $img = $request->file('photos');
  $fileExtension=$img->getClientOriginalExtension();

2 个答案:

答案 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