Reputation: 65
I have been trying to upload multiple files in Laravel using the code below but it only uploads a single image. Please help
$files = $request->file('file');
foreach ($files as $file){
$filename = time().'.'.$file->getClientOriginalExtension();
$location = public_path('uploads/'.$filename);
$file->move(public_path().'/uploads/', $filename);
$filename_arr = [];
array_push($filename_arr, $filename);
$filename = json_encode($filename_arr);
$upload->filename = $filename;
}
Upvotes: 0
Views: 3780
Reputation: 1015
Blade: As you want to upload multiple file append [] to the input type name property with multiple as below :
<input type="file" name="file[]" multiple>
Logic:
if($request->hasFile('file'))
{
$files = $request->file('file');
foreach ($files as $file) {
$filename = $file->getClientOriginalName();
$file->move(public_path().'/uploads, $filename);
}
}
Upvotes: 4