✔ Laravel 5 Tutorial : Laravel 5.3 Multiple File Upload & Save Into Database
Laravel 5.3 Tutorial for beginners : How to create simple Laravel 5.3 Multiple File Upload & Save Into Database, this lessons will show you how to create Upload Form in Laravel 5.3 with multiple file upload and will save into database.
at the previews lessons we have create simple upload images in laravel 5.3 using Ajax, so please read :
Upload Images in Laravel 5.3
Download Full source code here
see you next lessons ... Sumber http://scqq.blogspot.com
at the previews lessons we have create simple upload images in laravel 5.3 using Ajax, so please read :
Upload Images in Laravel 5.3
Video Tutorial Laravel 5.3 Multiple File Upload
Full Source Code
Migrate
public function up() { // create upload table Schema::create('upload', function(Blueprint $table) { $table->increments('id'); $table->string('filename'); $table->string('mime'); $table->string('original_filename'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { // drop upload table Schema::drop('upload'); }
Model (Uploads.php)
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Uploads extends Model { // upload model protected $table = 'upload'; }
Controller (UploadsController.php)
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Input; use Validator; use Response; use Redirect; use Session; use App\Uploads; class UploadsController extends Controller { public function index() { return view('upload.index'); } public function multiple_upload() { // getting all of the post data $files = Input::file('images'); // Making counting of uploaded images $file_count = count($files); // start count how many uploaded $uploadcount = 0; foreach ($files as $file) { $rules = array('file' => 'required'); //'required|mimes:png,gif,jpeg,txt,pdf,doc' $validator = Validator::make(array('file'=> $file), $rules); if($validator->passes()){ $destinationPath = 'uploads'; // upload folder in public directory $filename = $file->getClientOriginalName(); $upload_success = $file->move($destinationPath, $filename); $uploadcount ++; // save into database $extension = $file->getClientOriginalExtension(); $entry = new Uploads(); $entry->mime = $file->getClientMimeType(); $entry->original_filename = $filename; $entry->filename = $file->getFilename().'.'.$extension; $entry->save(); } } if($uploadcount == $file_count){ Session::flash('success', 'Upload successfully'); return Redirect::to('upload'); } else { return Redirect::to('upload')->withInput()->withErrors($validator); } } }
Routes (Web.php)
Route::get('upload', 'UploadsController@index'); Route::post('upload/uploadFiles', 'UploadsController@multiple_upload');
View (upload\index.blade.php)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Multiple Upload</title> <!-- Bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css"> <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.2/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <div class="container"> @if(Session::has('success')) <div class="alert-box success"> <h2>{!! Session::get('success') !!}</h2> </div> @endif <div class="form-group"> <h2>Simple Multiple Upload</h2> {!! Form::open(array('url'=>'upload/uploadFiles','method'=>'POST', 'files'=>true)) !!} {!! Form::file('images[]', array('multiple'=>true)) !!} <p>{!!$errors->first('images')!!}</p> @if(Session::has('error')) <p>{!! Session::get('error') !!}</p> @endif {!! Form::submit('Submit', array('class'=>'btn btn-lg btn-primary col-md-4')) !!} {!! Form::close() !!} </div> </div> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> </body> </html>
Download Full source code here
see you next lessons ...
0 Response to "✔ Laravel 5 Tutorial : Laravel 5.3 Multiple File Upload & Save Into Database"
Posting Komentar