Php 无法将Symfony\Component\HttpFoundation\File\UploadedFile类型的对象用作数组Laravel 4.2文件上载

Php 无法将Symfony\Component\HttpFoundation\File\UploadedFile类型的对象用作数组Laravel 4.2文件上载,php,arrays,symfony,laravel-4,Php,Arrays,Symfony,Laravel 4,我正在尝试使用Laravel4.2同时上传大量文件,但不起作用 当我尝试上载2个或更多文件时,laravel只上载最新选定的文件 现在我更改了一些内容,它给了我一个错误不能将Symfony\Component\HttpFoundation\File\UploadedFile类型的对象用作数组 为什么它会返回这个错误?他为什么不上传所有的图片 我的控制器: public function postUpload() { // getting all of the post data $fil

我正在尝试使用Laravel4.2同时上传大量文件,但不起作用

当我尝试上载2个或更多文件时,laravel只上载最新选定的文件

现在我更改了一些内容,它给了我一个错误
不能将Symfony\Component\HttpFoundation\File\UploadedFile类型的对象用作数组

为什么它会返回这个错误?他为什么不上传所有的图片

我的控制器:

public function postUpload() {
  // getting all of the post data
  $files = Input::file('file');
  //echo "<pre>";
  //var_dump($files);
  //echo "</pre>";
  //die;
  $map = Input::get('mapname');
  // setting up rules
  $rules = array('file' => 'max:10000'); //mimes:jpeg,bmp,png and for max size max:10000
  // doing the validation, passing post data, rules and the messages
  $validator = Validator::make($files, $rules);
  if ($validator->fails()) {
    // send back to the page with the input data and errors
    Session::flash('error_message', 'Er ging iets mis!');
    return Redirect::to('admin/img/upload')->withInput()->withErrors($validator);
  }
  else {
    // checking file is valid.

        if($files)
        {
            //echo "<pre>";
            //var_dump(Input::hasFile('file'));
            //echo "</pre>";
            //die;
            foreach($files as $file)
            {
                $destinationPath = 'public/pictures/overall/'.$map.'/'; // upload path
                $filename = str_random(40).'_'.$file[0]->getClientOriginalName();
                $extension = $file[0]->getClientOriginalExtension(); // getting image extension
                $file[0]->move($destinationPath, $filename); // uploading file to given path
            }
        // sending back with message
        Session::flash('success', 'Succesvol geüpload!'); 
        return Redirect::to('admin/img/upload');
        }

    else {
      // sending back with error message.
      Session::flash('error_message', 'Er ging iets mis!');
      return Redirect::to('admin/img/upload');
    }
  }
}
公共功能postpload(){
//获取所有post数据
$files=Input::file('file');
//回声“;
<form method="POST" action="http://localhost/RPR/admin/img/uploadfile" accept-charset="UTF-8" enctype="multipart/form-data">
<input name="_token" type="hidden" value="SkMoFqiOYBJZOOrvcwtMUGGjHV6gPftAq2mPE6Uz">
<select id="mapname" name="mapname">
<option value="TAC-Tielt-Shakedown-2015">TAC Tielt Shakedown 2015</option>
<option value="TAC-Tielt-2013">TAC Tielt 2013</option>
<option value="Rally-van-Staden-2015">Rally van Staden 2015</option>
</select>
<br><br>
<input multiple="1" name="file[]" type="file">
<br>
<button type="submit" class="btn btn-success">Uploaden</button>
</form>
//var_dump($files); //回声“;
<form method="POST" action="http://localhost/RPR/admin/img/uploadfile" accept-charset="UTF-8" enctype="multipart/form-data">
<input name="_token" type="hidden" value="SkMoFqiOYBJZOOrvcwtMUGGjHV6gPftAq2mPE6Uz">
<select id="mapname" name="mapname">
<option value="TAC-Tielt-Shakedown-2015">TAC Tielt Shakedown 2015</option>
<option value="TAC-Tielt-2013">TAC Tielt 2013</option>
<option value="Rally-van-Staden-2015">Rally van Staden 2015</option>
</select>
<br><br>
<input multiple="1" name="file[]" type="file">
<br>
<button type="submit" class="btn btn-success">Uploaden</button>
</form>
//死亡; $map=Input::get('mapname'); //制定规则 $rules=array('file'=>'max:10000');//mimes:jpeg、bmp、png和最大大小max:10000 //进行验证,传递post数据、规则和消息 $validator=validator::make($files,$rules); 如果($validator->fails()){ //将输入数据和错误发送回页面 会话::flash('error_message','Er ging iets mis!'); 返回Redirect::to('admin/img/upload')->withInput()->withErrors($validator); } 否则{ //检查文件是否有效。 如果($文件) { //回声“;
<form method="POST" action="http://localhost/RPR/admin/img/uploadfile" accept-charset="UTF-8" enctype="multipart/form-data">
<input name="_token" type="hidden" value="SkMoFqiOYBJZOOrvcwtMUGGjHV6gPftAq2mPE6Uz">
<select id="mapname" name="mapname">
<option value="TAC-Tielt-Shakedown-2015">TAC Tielt Shakedown 2015</option>
<option value="TAC-Tielt-2013">TAC Tielt 2013</option>
<option value="Rally-van-Staden-2015">Rally van Staden 2015</option>
</select>
<br><br>
<input multiple="1" name="file[]" type="file">
<br>
<button type="submit" class="btn btn-success">Uploaden</button>
</form>
//var_dump(输入::hasFile('file')); //回声“;
<form method="POST" action="http://localhost/RPR/admin/img/uploadfile" accept-charset="UTF-8" enctype="multipart/form-data">
<input name="_token" type="hidden" value="SkMoFqiOYBJZOOrvcwtMUGGjHV6gPftAq2mPE6Uz">
<select id="mapname" name="mapname">
<option value="TAC-Tielt-Shakedown-2015">TAC Tielt Shakedown 2015</option>
<option value="TAC-Tielt-2013">TAC Tielt 2013</option>
<option value="Rally-van-Staden-2015">Rally van Staden 2015</option>
</select>
<br><br>
<input multiple="1" name="file[]" type="file">
<br>
<button type="submit" class="btn btn-success">Uploaden</button>
</form>
//死亡; foreach($files作为$file) { $destinationPath='public/pictures/totall/'。$map./';//上传路径 $filename=str_random(40)。“'.$file[0]->getClientOriginalName(); $extension=$file[0]->getClientOriginalExtension();//获取图像扩展名 $file[0]->move($destinationPath,$filename);//将文件上载到给定路径 } //发回消息 会话::flash('success','successvol geüpload!'); 返回重定向::到('admin/img/upload'); } 否则{ //正在发送回错误消息。 会话::flash('error_message','Er ging iets mis!'); 返回重定向::到('admin/img/upload'); } } }
我使用的视图:

// Should be array of "UploadedFile" objects
$files = Input::file('file');

if($files)
{
    // Iterating over the array
    // "file" should be an instance of UploadedFile
    foreach($files as $file)
    {
        // ** You cannot use $file[0] **
        $filename = str_random(40).'_'.$file[0]->getClientOriginalName();

        // Instead, use this
        $filename = str_random(40).'_'.$file->getClientOriginalName();

    }
}
{{Form::open(数组('action'=>)AdminPictureController@PostUpload“,“接受字符集”=>“UTF-8”,“文件”=>true))}
@foreach(数组\反向($folders)作为$folder)
{{str_replace('-','$folder)}
@endforeach


{{Form::file('file[]',['multiple'=>true])}
上传 {{Form::close()}}
渲染的视图:


2015年交咨会分层调整
交咨会Tielt 2013
Rally van Staden 2015



上传
当我按下“上传”(submit)按钮时,我得到了错误信息。 当我按下按钮时,它进入路由
route::post('img/uploadfile','AdminPictureController@PostUpload');

所以他拿了控制器。但哪里出了问题,我不知道。他强调了这一点:

希望有人知道答案

最亲切的问候


罗宾

嗯,让我看看我是否做对了

如上所述,
$file[0]
是导致
无法将UploadedFile类型的对象用作数组的明确原因


这仍然不能解决显示单个文件而不是多个文件的问题。您确定这仍然是一个问题吗?

您是否尝试过
var\u dump
使用
$files=Input::file()
?是的,执行
var\u dump($files)告诉我:(我试着上传3个文件)我明白了,我没想到…:)是 啊我知道。就我所知,一切都很好。所以我不明白为什么它不起作用。。。你知道吗?还是一个有效的解决方案?多亏了你,我找到了解决方案!我同意这个答案。谢谢