Para subir con Laravel varios archivos de una sola vez usaremos el siguiente código:
HTML
{{ HTML::link('#', 'Afegir pàgina', array('class' => 'btn btn-default', 'id' => 'afegir', 'style' => 'margin-bottom:20px; float: left;')) }}
{{ Form::open(array('url'=>'/presentacio/multi-imatges/' . $dades->id,'method'=>'POST', 'files'=>true)) }}
<div style="float: left; padding: 7px 0 0 12px;">o afegir varies pàgines d'imatges de cop:</div>
{{ Form::file('images[]', array('multiple' => true, 'style' => 'float: left; padding: 5px 0 0 12px;')) }}
<button type="submit" class="btn" style="float: left; margin-left: 6px;">pujar</button>
{{ Form::close() }}
Controller
public function upMultiImatges($id){
$files = Input::file('images');
foreach($files as $file) {
$rules = array('file' => 'required|mimes:png,gif,jpeg');
$validator = Validator::make(array('file'=> $file), $rules);
if($validator->passes()){
$destinationPath = "img/presentacions/" . $id;
$filename = date("YmdHis") . str_random(3) . '.' . $file->getClientOriginalExtension();
$upload_success = $file->move($destinationPath, $filename);
$element = Element::count();
$newelement = new Element;
$newelement->presentation_id = $id;
$newelement->tipus = 'img';
$newelement->image = $filename;
$newelement->order = $element + 1;
$newelement->save();
Session::flash('success', 'Upload successfully');
}else{
return Redirect::to('/presentacio/editar/' . $id)->withInput()->withErrors($validator);
}
}
return Redirect::to('/presentacio/editar/' . $id);
}
Route:
Route::post('/presentacio/multi-imatges/{id}', 'BackController@upMultiImatges');


