Sponsored

লারাভেলে ইমেজ আপলোড এবং সেভ করা

0
2

ইমেজ ছাড়া ওয়েব সাইট কল্পনা করা যায়? যায় না। আমরা দেখব কিভাবে ইমেজ আপলোড করা যায় এবং ডিরেক্টরিতে সেভ করা যায়। app > public ফোল্ডারে একটা ফোল্ডার তৈরি করব। upload বা যে কোন নামে। এই ফোল্ডারে আমরা ইমেজ আপলোড করব।
আমরা একটা ভিউ তৈরি করব। যেখানে ফাইল সিলেক্টর ফরম থাকবে। ভিউতে নিচের কোড গুলো যুক্ত করবঃ


<form method="POST" action="/save" enctype="multipart/form-data">

{{ csrf_field() }} 


  <div class="form-group">
    <label for="imagefile">Select image to upload:</label>
      <input type="file"  id="file" name="file" accept="image/*">

  </div>   

  <button type="submit" class="btn btn-default">Submit</button>
</form>

যেমন উপরের কোড গুলো আমরা upload নামক কোন ফাইলে রাখতে পারি। আর তখন রাউট ফাইলে লিখতে পারিঃ

Route::get('/', function () {

return view('upload' );
});

উপরের ফরমের action এ লিখেছি save। ইমেজ সিলেক্ট করে সাবমিটে প্রেস করলে এই url এ যাবে। আর যখন কেউ এই url এ যাবে, তখন আমরা ইমেজ ফাইলটি প্রসেস করব। তার জন্য UploadController নামক একটা কন্ট্রোলার তৈরি করে নিব। কমান্ড লাইনে অটোমেটিক্যালি ফাইলটি তৈরি করতে লিখবঃ

php artisan make:controller UploadController

তারপর তার ভেতর লিখবঃ

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use Illuminate\Support\Facades\Input;

class UploadController extends Controller
{
    public function upload(){

	if(Input::hasFile('file')){

		echo "File Uploaded";
		$file = Input::file('file');
		$file->move('upload', $file->getClientOriginalName());
		echo '<img src="/upload/'.$file->getClientOriginalName() .'"/>';

	}

   }
}

এখানে যা লিখেছি, তা হচ্ছে যখন ইনপুটে দেখব কোন ফাইল রয়েছে, তখন আমরা ফাইলটি move করে upload ডিরেক্টরিতে রাখব।। getClientOriginalName() মানে হচ্ছে অরিজিনাল ফাইলের নাম। আপলোড শেষে আমরা ইমেজটি html ফাইলে দেখিয়েছি।

save রাউটটি যুক্ত করার জন্যঃ

 Route::post('save', 'UploadController@upload');

আমরা যদি একের অধিক ফাইলা আপলোড করতে চাই, তার জন্য html markup লিখতে পারি এভাবেঃ

  <input name="file[]" type="file" multiple />

আর php পার্টে লিখতএ হবে এভাবেঃ

 foreach( Input::file('file') as $file) { 
 $file->move('upload', $file->getClientOriginalName());
 
 }

তাহলে upload ফোল্ডারে ফাইল গুলো আপলোড হবে। আমরা চাইলে লারাভেলের ডিফল্ট স্টোরেজ ফোল্ডারেও আপলোড করতে পারি, তার জন্য লিখতে হবেঃ

Storage::put($file->getClientOriginalName(), file_get_contents($file));
Search
Categories
Read More
Hacking Course
এনিমেশন করে টাকা ইনকাম করতে যেসব বিষয় জানা প্রয়োজন - Banglatech24.com
বর্তমান সময়ে কোনো জটিল বিষয়কে সহজভাবে বুঝানোর ক্ষেত্রে এবং শিশুদের বিনোদনের গুরুত্বপূর্ণ মাধ্যম...
By Nettumi 2026-09-25 09:43:35 0 26
Tech
ফোনকে ডাকলেই আপনার ডাকে উত্তর/সারা দিবে। How to find your phone esily | Techtunes | টেকটিউনস
মোবাইলের মাধ্যমে চ্যাট করার কিছু দারুণ সফটওয়্যার মো. আমিনুল ইসলাম সজীব
By Nettumi 2026-09-26 11:51:30 0 679
Tech
ওয়ার্ডপ্রেস প্লাগিন [CommentLuv] [মন্তব্যের শেষে ব্লগারের শেষ পোষ্ট যুক্ত করা] | Techtunes | টেকটিউনস
স্পিড না কমিয়েই ১ তুড়িতেই আইপি হাইড করুন ১০০ গ্যরান্টি রাখাল বালক
By Nettumi 2026-09-25 03:58:28 0 14
Nulled
Gravity Forms v2.9.28 Nulled - The Best WordPress Form Plugin + All Addons
Gravity Forms v2.9.28 Nulled – The Best WordPress Form Plugin + All Addons Free Download....
By Nettumi 2026-09-17 18:10:03 0 27
Nulled
The Morning After You Leave
By Nettumi 2026-09-23 17:27:52 0 46
‎ ‎ ‎
Nettumi https://nettumi.com