مقدمه: امروز میخواهیم به راحتی در لاراول عکس ها خودمون ذخیره کنیم تا آخر با ما همراه باشید
در دسته بندی لاراول مطالعه در 5 دقیقه منتشر شده در ۱۳۹۹/۱۱/۰۹سلام عرض میکنم خدمت همه دوستان عزیز
امروز میخواهیم به شما آموزش دهیم که چطور میشه در لاراول انواع عکس ذخیره کنیم با تعیین مقدار پیکسل برای طول و عرض عکس به همراه آدرس دهی موردنظر برای هرعکس ودر آخر هم اسم هش شده عکس را در دیتابیس ذخیره کنیم . حالا شاید براتون سوال باشه چرا اسم فایل را هش میکنیم ؟چون یک کاربر از سامانه شما استفاده نمیکنه اگر هم یک کاربر داشته باشید باز هم ممکنه که چندین عکس ولی بایک نام داشته باشید لذا ما با این روش از خطا های احتمالی جلوگیری میکنیم.
خوب بریم سراغ اصل کار:
ابتدا یکی از جدول های بانک اطلاعاتی تون که قصد دارین در داخل آن نام عکس را ذخیره کنید انتخاب کنید مثلا من در این مثال تصمیم دارم برای جدول کاربران یک فیلد عکس پرفایل بزارم (اگه تا حالا نتونستید جدول بسازید در دیتابیس یا بلد نیستید می توانید به آموزش های دیگه ما در همین سایت مراجعه کنید)
سپس در پوشه اصلی برنامه وارد محیط CMD شده و دستور
composer require intervention/image
وارد میکنید و صبر میکنید تا کتابخانه image با موفقیت نصب شود سپس به config >> app.php مراجعه میکنید و در قسمت providers
'providers' => [
// ...
'Intervention\Image\ImageServiceProvider',
]
ودر قسمت aliases
'aliases' => [
// ...
'Image' => 'Intervention\Image\Facades\Image',
]
را اضافه میکنید با این کار کتابخانه نصب شده را به لاراول معرفی میکنید.
سپس در Routes یک آدرس جدید می سازید حتما نوع Post قرار دهید بعد از ساخت یک فایل جدید در Viwe با هر نامه که دوست دارید شروع به نوشتن کد های Html جهت ارسال فایل میکنید حتما به دونکته توجه داشته باشید که در تگ Form که ساختید متد را post و
enctype="multipart/form-data
حال وارد محیط کنترلر که ساختیم میشویم (اگه بلد نیستید که چطور کنترلر در لاراول ساخته میشود به آموزش های قبلی ما مراجعه کنید) وبالای کنترلر کتابخانه ای که داریم استفاده میکنیم به شکل زیر اضافه می کنیم
use App\ImageModel;
use Image;
سپس یک تابع جدید می سازیم و کد های برنامه مون برای ذخیره سازی عکس اضافه میکنیم
public function showSingUp(Request $req)
{
$originalImage12 = $req->file('ImageKarbars');
$name12 = hash('sha256', $originalImage12 . strval(time()));
$thumbnailImage12 = Image::make($originalImage12);
$thumbnailPath12 = public_path() . '/thumbnail/profile';
$thumbnailImage12->resize(500, 500);
$thumbnailImage12->save($thumbnailPath12 . $name12 . $originalImage12->getClientOriginalName());
$ImageKarbars = $name12 . $originalImage12->getClientOriginalName();
}
همانطور که ملاحظه میکنید ما فایل را دریافت میکنیم نام فایل راهش می کنیم سایز عکس را براساس پیکسل تغییر می دهیم و در میسر مد نظر عکس را ذخیره میکنیم ودرآخر برای بازیابی و استفاده عکس نام هش شده را در جدول مد نظرمون ذخیره میکنیم
تبریک میگم شما با موفقیت انواع عکس را در مسیر مورد نظرتون ذخیره کرده اید.
برای دین سایرآموزش های ما میتوانید در کادر جستجو سرچ کنید واگر به دنبال آموزش خواست هستید با ما تماس بگیرید تا آن آموزش برای شما قرار دهیم
تجربیات نویسنده
برنامه نویس
در این مطلب میخواهیم به این بپردازیم چرا لاراول را برای یادگیری انتخاب کنیم
برنامه نویس
در این آموزش یادمی گیرد که چطور می تونید از تاریخ شمسی در لاراول استفاده کنید
برنامه نویس
در این آموزش یادمی گیرید که چطور در لاراول ابتدا به دیتابیس متصل و سپس جداول خود را بسازید