PHP Professional,Laravel 5.6 Beginning to Advance এবং Zend Certified PHP Engineer (ZCPE ) Course এ সীমিত সংখ্যক আসন বাকি আছে। আগ্রহীদেরকে অতিসত্বর মাসুদ আলম স্যার এর সাথে যোগাযোগ করার জন্য অনুরোধ করা যাচ্ছে। স্যার এর মোবাইল নম্বর : ০১৭২২ ৮১ ৭৫ ৯১

বাংলায় PHP LARAVEL FRAMEWORK পর্ব-২০: Laravel File Upload with Validation

Laravel File Upload With Validation

Laravel File Upload With Validation

অধিকাংশ Web Application এ File Upload Feature টি অত্যন্ত গুরুত্বপূর্ন, User এর Profile Picture থেকে শুরু করে , যেকোনো article এ যেমন বিভিন্ন Image File Upload করা লাগে , আবার বিভিন্ন Document,image, audio এবং video কে Web এ সংরক্ষণের জন্য File Upload Feature খুবই গুরুত্বপূর্ণ। আজকে আমরা দেখবো কিভাবে Laravel দিয়ে File Upload করা যায়। চলুন শুরু করা যাক :

ধাপ-১: Upload Form এর জন্য Route, Controller এবং View File তৈরী

প্রথমে চলুন Upload Form প্রদর্শনের জন্য আমাদের UserController এ uploadFile নামে একটি Method করে ফেলি :

/** Return view to upload file */
    public function uploadFile(){
        return view('uploadfile');
    }

এবার আসুন এখন একটি view file তৈরি করি যা User কে File Upload Form প্রদর্শন করবে। resources>views ফোল্ডারে uploadfile.blade.php নামে একটি ফাইল তৈরি করুন।

@extends('layouts.app')
 
@section('content')
    <div class="container">
        <div class="row justify-content-center">
            <div class="card">
                <div class="card-header">Upload File Example</div>
 
                <div class="card-body">
                    @if ($message = Session::get('success'))
 
                        <div class="alert alert-success alert-block">
 
                            <button type="button" class="close" data-dismiss="alert">×</button>
 
                            <strong>{{ $message }}</strong>
 
                        </div>
 
                    @endif
 
                    @if (count($errors) > 0)
                        <div class="alert alert-danger">
                            <strong>Whoops!</strong> There were some problems with your input.<br><br>
                            <ul>
                                @foreach ($errors->all() as $error)
                                    <li>{{ $error }}</li>
                                @endforeach
                            </ul>
                        </div>
                    @endif
 
 
                        <form action="/uploadfile" method="post" enctype="multipart/form-data">
                            @csrf
                            <div class="form-group">
                                <input type="file" class="form-control-file" name="fileToUpload" id="exampleInputFile" aria-describedby="fileHelp">
                                <small id="fileHelp" class="form-text text-muted">Please upload a valid image file. Size of image should not be more than 2MB.</small>
                            </div>
                            <button type="submit" class="btn btn-primary">Submit</button>
                        </form>
                </div>
            </div>
        </div>
    </div>
@endsection
 

এবার app.blade.php file এ users Menu এর পাশে Upload File নামে একটা Menu যুক্ত করুন:

<li class="nav-item"><a class="nav-link" href="{{ url('/uploadfile') }}">Upload File</a></li>

এবার Route এ আপনার Upload File এর url সেট করে আসুন :

Route::get('uploadfile','UserController@uploadfile');

এখন যখন আপনি Upload File Menu তে ক্লিক করবেন, তখন আপনি নিচের ছবির মতো ফাইল আপলোড ফর্মটি দেখতে পাবেন।

Laravel File Upload Form

Laravel File Upload Form

ধাপ-২: File Upload Process এর জন্য Route এবং Controller এ Method তৈরী

প্রথমে আপনার UserController.php তে UploadFilePost() Method টি যুক্ত করুন

/** Example of File Upload */
    public function uploadFilePost(Request $request){
        $request->validate([
            'fileToUpload' => 'required|file|max:1024',
        ]);
        $request->fileToUpload->store('logos');
        return back()->with('success','You have successfully upload image.');
    }

UploadFilePost() Method এর জন্য route set করুন:

Route::post('uploadfile','UserController@uploadFilePost');

ব্যাখ্যা:এখানে আমরা store() Method তৈরী করেছি। যেটি logos নামে storage>app ফোল্ডারে তৈরী করবে, এবং ফাইল সেখানে আপলোড করবে। store() Method এর মধ্যে যেকোনো folder specify করে দিতে পারবেন যে File টি কোথায় আপলোড হবে।

Laravel File Upload Success Message

Laravel File Upload Success Message

Bene factum!

এই ক্যাটাগরির অন্যান্য পোস্ট:

Masud Alam
আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ৮ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। বিশেষ ভাবে বাংলাদেশের ১০০ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ৫২ জন ই আমার হাতে জেন্ড সার্টিফাইড হয়েছে। বর্তমানে TechBeeo Software Company তে সিইও হিসাবে আছি । পাশাপাশি w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -7 Engineering কোর্স করাই। আর w3programmers.com সাইট টি আমার।

Leave a Reply

Your email address will not be published. Required fields are marked *