Laravel 5.1: Как загрузить несколько файлов из трех разных полей ввода файлов?

У меня есть форма, в которой пользователь должен, по крайней мере, выбрать один файл для загрузки. У меня есть три поля ввода файлов:

<div class="form-group col-lg-4"> {!! Form::label('file1', 'Select file 1', ['class' => 'control-label']) !!} {!! Form::file('files[]', ['id'=>'file1']) !!} </div> <div class="form-group col-lg-4"> {!! Form::label('file2', 'Select file 2', ['class' => 'control-label']) !!} {!! Form::file('files[]', ['id'=>'file2']) !!} </div> <div class="form-group col-lg-4"> {!! Form::label('file3', 'Select file 3', ['class' => 'control-label']) !!} {!! Form::file('files[]', ['id'=>'file3']) !!} </div> 

Я должен проверить наличие по крайней мере одного файла и типов mime в запросе формы. Затем в методе хранения связанного контроллера формы исходные имена файлов должны храниться в трех соответствующих полях базы данных (а именно file1, file2, file3).

Как я могу это реализовать?

После некоторых поисков я наконец придумал решение. Прежде всего, я изменил представление так:

 <div class="form-group col-lg-4"> {!! Form::label('file1', 'Select file 1', ['class' => 'control-label']) !!} {!! Form::file('file1', ['id'=>'file1']) !!} </div> <div class="form-group col-lg-4"> {!! Form::label('file2', 'Select file 2', ['class' => 'control-label']) !!} {!! Form::file('file2', ['id'=>'file2']) !!} </div> <div class="form-group col-lg-4"> {!! Form::label('file3', 'Select file 3', ['class' => 'control-label']) !!} {!! Form::file('file3', ['id'=>'file3']) !!} </div> 

Тогда в контроллере я использовал ваш предлагаемый код:

 $files =[]; if ($request->file('file1')) $files[] = $request->file('file1'); if ($request->file('file2')) $files[] = $request->file('file2'); if ($request->file('file3')) $files[] = $request->file('file3'); foreach ($files as $file) { if(!empty($file)){ $filename=$file->getClientOriginalName(); $file->move( base_path().'/public/uploads/', $filename ); } }