Laravel 4.2上传并验证多个图像

时间:2016-12-29 09:06:13

标签: php laravel

我正在使用Lravel 4.2 我需要在上传时验证图片

这是提交的表格

{{ Form::file('img[]', array('class'=>'file', 'multiple', 'accept'=>'image/*')) }}

所以这就是我的尝试

$files = Input::file('img');
foreach ($files as $file) {
    // validating each file.
    $rules = array('img' => 'required|image'); //'required|mimes:png,gif,jpeg,txt,pdf,doc'
    $validator = Validator::make(array('img' => $file), $rules);
    if ($validator->passes()) {
        $destinationPath = 'images/propertyImages/';
        $filename = $file->getClientOriginalName();
        $file->move($destinationPath, $filename);
    } else {
        return Redirect::back()->withInput()->withErrors($validator);
    }
}

但每次我上传

  

上传的文件必须是图片

我正在上传图片

转储并死于$files

array(3) {
  [0]=>
  object(Symfony\Component\HttpFoundation\File\UploadedFile)#9 (7) {
    ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    bool(false)
    ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    string(14) "iconDoctor.png"
    ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    string(9) "image/png"
    ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    int(10489)
    ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
    int(0)
    ["pathName":"SplFileInfo":private]=>
    string(23) "C:\wamp\tmp\phpAF3B.tmp"
    ["fileName":"SplFileInfo":private]=>
    string(11) "phpAF3B.tmp"
  }

1 个答案:

答案 0 :(得分:2)

我只是检查你的代码并且它正在运行。

我的HTML代码如下

<form enctype="multipart/form-data" class="form-horizontal form-row-sepe" id="frm_add" action="{{url('/testFunction')}}" method="post"> 
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <input type='file' multiple name='img[]' />
    <input type="submit" class="" value="Search">
</form>

我的路线正在跟随

Route::any('/testFunction', 'frontend\HomeController@testFunction');

完成所有这些后,我在HomeController函数中编写了所有代码,并将其上传到服务器上。也许您的FORM助手在声明中有一些问题。选择我的代码,然后检查您的问题。