Upload Multiple Images in Laravel 5.1

Viewed 216

I have an input file

<input id="images" name="images" type="file"  multiple>

I upload 3 files

enter image description here

My controller only receive 1.

$files = Request::file('images');
$file_count = count($files);

dd($file_count); // 1

dd($files);

UploadedFile {#28 ▼
  -test: false
  -originalName: " 2018-09-13 at 11.54.24 AM.png"
  -mimeType: "image/png"
  -size: 5849
  -error: 0
}

What did I miss ?

2 Answers

You have to mention [] in input name like below.

<input id="images" name="images[]" type="file" multiple>

In view file (blade.php)

<input id="images" name="images[]" type="file"  multiple>

In controller

foreach( $request->file('imageData') as $image ){  
        $upload_path = '/assets/images/';
        $destinationPath = public_path() . $upload_path;
        $fileName = time() . '-' . $image->getClientOriginalName();
        $image->move($destinationPath, $fileName);
}

Related