How to upload multiple files in database using laravel?

by hal.littel , in category: PHP Frameworks , 4 months ago

How to upload multiple files in database using laravel?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

Member

by ryleigh , 4 months ago

@hal.littel 

To upload multiple files in a database using Laravel, you can follow these steps:

  1. Create a form in your Laravel application where users can select and upload multiple files. Make sure to set the enctype attribute of the form to multipart/form-data to allow file uploads.
  2. In your controller, create a method to handle the file uploads. Use the store() method of the UploadedFile class to store the files in a storage directory. You can then retrieve the file paths and filenames of the uploaded files.
  3. Use the Eloquent model to save the file paths and filenames in your database. Create a new record in the database for each uploaded file.


Here is an example of how you can achieve this:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
// Controller method to handle file uploads
public function uploadFiles(Request $request)
{
    $files = $request->file('files');
    
    foreach ($files as $file) {
        $filename = $file->getClientOriginalName();
        $file->store('uploads'); // Save the file to the storage directory
        
        // Save the file path and filename in the database
        File::create([
            'filename' => $filename,
            'filepath' => 'storage/uploads/' . $filename
        ]);
    }
    
    return redirect()->back()->with('message', 'Files uploaded successfully');
}


Make sure to create a File model to interact with the database table where you will store the file information. Also, don't forget to set up the storage directory in your Laravel application to store the uploaded files.


With these steps, you should be able to upload multiple files to your database using Laravel.