【问题标题】:Call to member function getClientOriginalExtension() in laravel?在 laravel 中调用成员函数 getClientOriginalExtension()?
【发布时间】:2018-01-31 08:08:20
【问题描述】:

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

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

但我面临这个问题,无法准确输入..?

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

【问题讨论】:

标签: php laravel-5


【解决方案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>

希望对你有帮助!

【讨论】:

    【解决方案2】:

    $img 你有一个数组。你应该使用像foreach这样的循环来操作$img

    【讨论】:

      猜你喜欢
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 2015-03-24
      • 1970-01-01
      相关资源
      最近更新 更多