CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other
Showing posts with label Multiple File Upload. Show all posts
Showing posts with label Multiple File Upload. Show all posts

16 February, 2021

Laravel 8 Multiple File Upload Tutorial

 Programing Coderfunda     February 16, 2021     Images laravel, Laravel, Laravel - Interview questions, Multiple File Upload, upload, upload laravel     No comments   

How To Upload Multiple Files in Laravel

Handling Multiple File Upload in Laravel

Laravel Multiple Files Upload Tutorial Example From Scratch

1. Create Model 

                Model Name : PurchaseBill

2. Create Database

    Database given Field :  Name , User_id, File or Image

3. Create Controller 


 //Controller

 
public function add(Request $request)
    {
        if($request->isMethod('post'))
        {
            $data = $request->all();
            $validatedData = $request->validate
            ([
                'name' => 'required',
                'image_path.*' => 'mimes:doc,pdf,docx,zip',
                'file.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg,pdf,xls,xlsx|max:2048',
            ]);          

            if(Auth::guard('admin')->user()->user_type == 'super'){
                $user_data_id = Auth::guard('admin')->user()->id;                 
            } else{
                $user_data_id = Auth::guard('admin')->user()->id;
            }

            
            $gstr_detail            = new PurchaseBill();
            $gstr_detail->name      = $data['name'];
            $gstr_detail->user_id   = $user_data_id;

            $files = $request->file('file');

            //upload multipal file one row diffrent name with seprate comma
            $i = 0;
            if($request->hasfile('file')){
                foreach ($files as $file) {
                    // $name = $file->getClientOriginalName();
                    //with $i help you save diffrent name file
                    $name = time() . $i . '.' . $file->getClientOriginalExtension();
                    //movie file in folder location
                    $file->move(public_path() . '/uploads/', $name);
                    $datavk[] = $name;
                    //save data in database with diffrent name with comma
                    $gstr_detail->file  = implode(",",$datavk);
                    $i++;
                }
            }
          //  $gstr_detail->file    = implode(",",$datavk);

            if($gstr_detail->save()){
                return redirect('/admin/purchase-bill')->with('success','Added successfully');
            } else {
                return redirect('/admin/purchase-bill')->with('errors',COMMON_ERROR);
            }
        }
        $page = 'sale_bill';
        return view('backEnd.dataManagement.purchase.form', compact('page'));
    }
 
 
Main Method : You can Upload multipal file in a row with seprate 
    Without any problem  
          
            Model Name : PurchaseBill 
 
            $gstr_detail            = new PurchaseBill();
            $gstr_detail->name      = $data['name'];
            $gstr_detail->user_id   = $user_data_id;

            $files = $request->file('file');

            //upload multipal file one row diffrent name with seprate comma
            $i = 0;
            if($request->hasfile('file')){
                foreach ($files as $file) {
                    // $name = $file->getClientOriginalName();
                    //with $i help you save diffrent name file
                    $name = time() . $i . '.' . $file->getClientOriginalExtension();
                    //movie file in folder location
                    $file->move(public_path() . '/uploads/', $name);
                    $datavk[] = $name;
                    //save data in database with diffrent name with comma
                    $gstr_detail->file  = implode(",",$datavk);
 
                    $i++;
                }
            }
          //  $gstr_detail->file    = implode(",",$datavk);

            if($gstr_detail->save()) 

 

Model File

 

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class PurchaseBill extends Model
{
    //
    protected $fillable = [
        'user_id','name','file'
    ];
}
 
 


View File

<form id="example-form" action="" class="" method="post" enctype="multipart/form-data">
    @csrf
    <div>
        <!-- <h3>Profile</h3> -->
        <section>
            <div>
                <label for="name">Purchase Bill Name </label>
                <input id="name" name="name" type="text" class="required form-control" value="">
            </div><br>
                                  

            <div class="custom-file">
                <input type="file" name="file[]" class="custom-file-input" id="images" multiple="multiple" width="10%" height="10%" accept=".jpg, .png, .gif, .jpeg,   
                .xlsx, .pdf" >
                <label class="custom-file-label" for="images">Choose image</label>
            </div> 

        </section>
        <div class="card-body">
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
            <button type="submit"  name="submit"  class="btn btn-primary" style="float: right; margin-bottom: 20px">Upload Images</button>
        </div>
    </div>
    <div class="row">
        <div class="col-md-4">
            <div class="user-image mb-3 text-center">
                <div class="imgPreview" style="height:250px; width:250px" > </div>
            </div> 
        </div>
    </div>
    
</form>
 
 

<script>
    $(function() {
    // Multiple images preview with JavaScript
    var multiImgPreview = function(input, imgPreviewPlaceholder) {

        if (input.files) {
            var filesAmount = input.files.length;
            for (i = 0; i < filesAmount; i++) {
                var reader = new FileReader();
                reader.onload = function(event) {
                    $($.parseHTML('<img style="height:250px; width:250px; diplay:inline block; float:left;" >')).attr('src', event.target.result).appendTo(imgPreviewPlaceholder);
                }
                reader.readAsDataURL(input.files[i]);
            }
        }

    };

    $('#images').on('change', function() {
        multiImgPreview(this, 'div.imgPreview');
    });
    });    
</script>

 

 

 data base

 

 11111 111

Read More
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Older Posts Home

Meta

Popular Posts

  • Inertia and React or Vue
    Hi just checking your thoughts on whether to learn React or Vue, I want to learn React as it may be better to find work and it has a larger ...
  • JqueryUI Tutorial
    JqueryUI Tutorial    JqueryUI is the most popular front end frameworks currently. It is sleek, intuitive, and powerful mobile first fr...
  • Laravel JSON – A Simple Wrapper Around JSON for Catching Errors
      When we wrote   PHP 7.3: A Look at JSON Error Handling , Jan Östlund mentioned a package he wrote called   Laravel JSON . Laravel JSON is ...
  • Bootstrap - Code
    Bootstrap - Code Bootstrap allows you to display code with two different key ways − The first is the <code> tag. If you are going to ...
  • Laravel Passwordless Login
      Laravel Passwordless login is a package by   Ed Grosvenor   that provides a simple, safe, magic login link generator for Laravel apps: Thi...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (69)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • July (4)
  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda