Mbugua Njane
Mbugua Njane

Reputation: 65

Uploading multiple files in Laravel 5

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

Answers (1)

Prashant Prajapati
Prashant Prajapati

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

Related Questions