جستجو در بخش : سوال جواب منابع اسلامی لغت نامه ها قوانین و مصوبات نقل قل ها
×

فرم ورود

ورود با گوگل ورود با گوگل ورود با تلگرام ورود با تلگرام
رمز عبور را فراموش کرده ام عضو نیستم، می خواهم عضو شوم
×

×

آدرس بخش انتخاب شده


جهت کپی کردن میتوانید از دکمه های Ctrl + C استفاده کنید
رویداد ها - امتیازات
در حال بارگذاری
×

رویداد ها - امتیازات

برای بررسی عملکرد فعالیت و امتیازات خود باید در وب سایت وارد باشید. در صورت عضویت از بخش بالای صفحه وارد شوید، در غیر این صورت از دکمه پایین، مستقیم به صفحه ثبت نام وارد شوید.

×
×
×

دلیل درخواست بستن پست

کلیه پست هایی که جنبه تبلیغاتی داشته، محتوای اسپم و بی مفهوم در این دسته قرار میگیرند. همچنین پست هایی که به منظور گرفتن بک لینک درج می شوند شامل این مورد هستند.
حاوی مفاهیم غیر اخلاقی، سیاسی و یا توهین آمیز. کلیه پست هایی که از نظر محتوایی نیاز به بررسی و یا حذف شدن دارند در این دسته قرار می گیرند.
محتوایی با عدم جزئیات کافی و مورد نیاز. کلیه پست هایی که منظور نویسنده به وضوح مشخص نیست و نیازمند توضیحات و جزئیات بیشتر می باشند در این دسته قرار می گیرند.
محتوایی بی ربط با موضوعیت سرفصل کلی. کلیه پست هایی که از منظر مفهوم و مضمون ارتباطی با عنوان اصلی سوال ندارند در این دسته قرار می گیرند.
محتوایی دلخواه و بر پایه سلیقه. کلیه پست هایی که یک پاسخ مشخص ندارند و متوانند چندین پاسخ متفاوت و صحیح داشته باشند که کاملا مبتنی بر نظر شخصی افراد هستند در این دسته قرار می گیرند.
محتوایی در حوزه خیلی وسیع. کلیه پست هایی که از نظر محتوایی در یک حوزه ی وسیعی قرار دارند و مشخصا به یک موضوع خاصی اشاره ندارند که پاسخدهی به آن ها مستلزم تشریح مفاهیمی کلی می باشند در این دسته قرار می گیرند.
قبلا در لام تا کام مطرح شده. پست هایی که دقیقا با همین محتوا و مضمون قبلا در وب سایت لام تا کام درج شده اند، با ذکر آدرس منبع تکراری با پست حال حاضر شامل این دسته هستند. تکراری است با:
به سایر دلایل، نیازمند به بررسی توسط مدیر. به هر دلیل غیری که پست را نیازمند بررسی توسط مدیر کرده، با ذکر دلیل، در این دسته قرار میگیرد.
ارسال رای بستن

روش صحیح آپلود عکس در لاراول چیست؟


2
0
2281

وقتی من یه صفحه در محصولات ایجاد می کنم اطلاعات در دیتابیس ذخیره میشود اما عکسی که من آپلود میکنم بدجوری در فیلد image ذخیره می شود.

توضیح تصویر

ProductController.php

public function store(ProductRequest $request)
{
    $product = new Product();
    $product->user_id = auth()->user()->id;
    $product->title = $request->title;
    $product->body = $request->body;
    $product->price = $request->price;

    if($request->has('image')) {
        $image = $request->file('image');
        $filename = $image->getClientOriginalName();
        $image->move(public_path('images/products'), $filename);
        $product->image = $image;
    }

    $product->save();

    $product->categories()->attach($request->category);

    return redirect()->route('products.index');
}
لام تا کام برنامه-نویسی
ویرایش شده در 5 سال قبل
سوال شده در Mahmoud Khosravi
138 امتیاز


برداشتی که من در یک نگاه داشتم این بود که مشکل از تابع public_path() هستش. شاید بد نباشه اگه بجای اون از تابع url() استفاده کنید. ــ ساناز رضایی در 5 سال قبل
1
@ساناز.رضایی از نظر من نظریه شما اشتباه هست. چرا که تابع public_path() برای گرفتن دایرکتوری که قصد بارگذاری کردن عکس رو در اون دارند استفاده شده و ربطی به دیتایی که در دیتابیس ذخیره شده ندارد. من فکر میکنم چیزی که در متغییر $image وجود داره مشکل داره. ــ سروش قادری نسب در 5 سال قبل

خب یک سوال خیلی مهم پیش اومد واسه من؛ آیا تصویر روی در مسیر مورد نظرت ذخیره میشه؟ یعنی فرآیند آپلود تصویر به درستی اتفاق میوفته؟ یا علاوه بر اینکه توی دیتابیس برای فیلد image یه دیتای بی‌ربط اینزرت میشه، عکسی هم توی سرور آپلود نمیشه؟ ــ سجاد شفی زاده در 5 سال قبل

لطفا سوالتون رو ویرایش کنید و در عنوانش بجای «باراول» بنویسید «لاراول». من میخواستم براتون ویرایش کنم ولی امتیاز کافی ندارم و سامانه لام تا کام بهم این اجازه رو نمیده. ــ ساناز رضایی در 5 سال قبل

500 کاراکتر باقی مانده

1 جواب

2

شما فایل تصویر رو میگیری و در متغییر $image نگهداریش میکنی بعد تابع move() رو روش صدا میزنی و در یک مسیری که با تابع public_path() تولید میشه، ذخیرش میکنی. خب این اوکیه. مشکل اینه که شما همون متغییر $image رو که حاوی فایل تصویر هست (که برگرفته از یک فرم submit شده هست طبیعتا) رو داری میریزی توی دیتابیس. از نظر من این صحیح نیست. پس بهتره که این خط رو:

$product->image = $image;

با این خط جایگزین کنی:

$product->image = $request->file('image')->getClientOriginalName();

اینطوری تصویری رو که داری توی یک مسیر ثابت و مشخص ذخیره میکنی، اسمش رو توی دیتابیس میریزی و بعدها به راحتی میتونی اون عکس رو توی اون مسیر مشخص پیدا کنی.

جواب داده شده در سعید مرادی
1933 امتیاز


@سعیدمرادی من الان در دیتابیس را نگاه کردم فقط نام فایل آمده اسم پوشه ها هم نیامده مثلا images/products ذخیره نشده ــ Mahmoud Khosravi در 5 سال قبل

@Mahmoud.Khosravi ببین خب همین باید باشه. در دیتابیس، یکی از مراحل نرمالایز کردن همینه که دیتای ثابت و تکراری رو حذف کنی. قاعدش این هستش که شما یک فایل کانفیگ داشته باشی و همه ی مسیرهات رو اونجا ثبت کنی. بعد اون مسیر رو بچسبونی به اسم فایل و اون فایل (در اینجا میشه تصویر) رو پیدا کنی. ــ سعید مرادی در 5 سال قبل

500 کاراکتر باقی مانده


جواب شما
     
.....
×

×

جعبه لام تا کام


لام تا کام نسخه صفحه کلید نیز راه اندازی شده است. شما با استفاده از کلیدهای موجود بر روی صفحه کلید دستگاهتان می توانید با وب سایت ارتباط برقرار کنید.
لیست کلید های میانبر

تبلیغات توضیحی


داپ اَپ اولین پلتفرم کش‌بک در ایران
اگه میخوای از خریدهایی که میکنی، پاداش نقدی دریافت کنی داپ اَپ رو نصب کن.

تبلیغات تصویری