Laravel File Uploads: Drivers and Disks এবং Amazon S3 ব্যাখ্যা ও ব্যবহার (উদাহরণসহ) | Part 22

Abu Sayed
2 min readFeb 24, 2024

--

এই লেখায় Laravel framework এর উন্নত ফাইল আপলোড সিস্টেম সম্পর্কে আলোচনা করা হয়েছে। ড্রাইভার, ডিস্ক, Amazon S3 ইন্টিগ্রেশন সহ বিষয়গুলো বিস্তারিতভাবে তুলে ধরা হয়েছে।
( Laravel File Uploads Advanced: Drivers and Disks, Example of Amazon S3 )

আজ আমি আপনাকে Laravel Framework এর File Uploading System এর উন্নত বৈশিষ্ট্য সমূহ সম্পর্কে জানাব। Laravel এ ফাইল আপলোড করা খুবই সহজ। তবে এর কিছু উন্নত বৈশিষ্ট্য আছে যা আপনার আপলোড সিস্টেমকে শক্তিশালী করে তুলবে।

ড্রাইভার এবং ডিস্ক

Laravel এ ফাইল সিস্টেমকে স্বাচ্ছন্দ্য করার জন্য “ড্রাইভার” এবং “ডিস্ক” ধারণাটি রয়েছে।

ড্রাইভার হল ফাইল সঞ্চয়ের জন্য ব্যবহৃত পদ্ধতি। যেমন: local, S3, database ইত্যাদি।

আর ডিস্ক হল একটি নির্দিষ্ট ড্রাইভারের জন্য একটি স্টোরেজ লোকেশন।

একটি উদাহরণ দেখা যাক।

'disks' => [
  'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
's3' => [
'driver' => 's3',
'key' => 'your-key',
'secret' => 'your-secret',
'region' => 'your-region',
'bucket' => 'your-bucket',
],
],

এখানে local এবং s3 হল ডিস্ক। local ডিস্ক local ড্রাইভার ব্যবহার করে এবং s3 ডিস্ক Amazon S3 ড্রাইভার ব্যবহার করে।

প্রতিটি ডিস্কের জন্য আলাদা সেটিংস থাকতে পারে। এটি আপনাকে একাধিক স্টোরেজ লোকেশন ব্যবহার করতে দেয়।

উদাহরণ: Amazon S3

আসুন একটি উদাহরণ দেখা যাক যেখানে আমরা Amazon S3 ব্যবহার করে ফাইল আপলোড করব।

প্রথমে .env ফাইলে S3 এর তথ্য সেট করা লাগবে:

AWS_ACCESS_KEY_ID=your-key
AWS_SECRET_ACCESS_KEY=your-secret
AWS_DEFAULT_REGION=your-region
AWS_BUCKET=your-bucket

পরে config/filesystems.php এ ডিস্ক কনফিগার করতে হবে:

'disks' => [
  's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
],
],

এখন কোন কন্ট্রোলার অথবা মডেলের মধ্যে ফাইল আপলোড করতে পারবেন:

$path = $request->file('photo')->store('images', 's3');

এটি ছবিটিকে images ফোল্ডারে Amazon S3 এ আপলোড করবে।

এভাবে খুব সহজেই Amazon S3 ব্যবহার করে ফাইল ম্যানেজ করা যায়!

সারাংশ

  • Laravel এ driver এবং disk ব্যবহার করে ফাইল সিস্টেমকে স্বাচ্ছন্দ্যময় করা হয়।
  • Driver হল স্টোরেজ পদ্ধতি যেমন: Local, S3, Database ইত্যাদি।
  • Disk হল একটি নির্দিষ্ট driver এর জন্য স্টোরেজ লোকেশন।
  • একাধিক disk ব্যবহার করে বিভিন্ন স্টোরেজ ব্যবহার করা যায়।
  • Amazon S3 সহজেই ইন্টিগ্রেট করা যায়।

আশা করি এই লেখাটি থেকে আপনি Laravel File Uploading সম্পর্কে ভালো ধারণা লাভ করেছেন। ধন্যবাদ!

--

--

Abu Sayed

Bangladeshi Full Stack Web Dev, Sys Admin & DevOps Engineer. Skills: Data analysis, SQL, Kubernetes. Python, PHP & Laravel. Me on: bd.linkedin.com/in/imabusayed