نحوه صحیح آپلود فایل در هاست لاراول
عموما یکی از مشکلاتی که کاربران هاست لاراول دارند تنظیم صحیح آپلود فایل ها است.
به گونه ای که وقتی فایلی آپلود می شود برای اجرا مستقیم وارد public_html شود.
در رابطه با پروژه های لاراولی برای افزایش امنیت محتویات اصلی پروژه همیشه یک پوشه قبل public_html قرار می گیرد.
این محتویات اصلی پروژه شامل پوشه های مهم لاراول و کانفیگ دیتابیس ها می باشد. و فایل های Static و media که جنبه نمایشی دارند وارد public_html می شود تا کاربران به راحتی به این داده ها دسترسی داشته باشند.
این روش امن را ما در انتهای صفحه هاست لاراول در یک ویدئو آموزشی توضیح دادیم که می توانید استفاده کنید.
اما یک مشکلی که وجود دارد این است که وقتی فایلی آپلود می شود به پوشه اصلی یعنی قبل public_html می رود و کاربر محتویات آپلودی خود را مشاهده نمی کرد!
ما در این آموزش ویدئویی راه حلی ساده را خدمت شما عرض می کنیم تا بتوانید پروژه را به گونه ای تنظیم کنید که فایل های نمایشی و آپلودی وارد مسیر شوند بدون اینکه نیاز باشد هر بار دستی این کار صورت پذیرد.
امیدوارم از دیدن این ویدئو آموزشی لذت برده باشید.
مشکل رو منم روی لاراول با storage و laravel6 داشتم
https://gist.github.com/saber13812002/75db95cc2ce47067e8730f3ff8e9def5
اینجا توضیح دادم چجوری حل شد
سلام وقت بخیر
متشکرم از ویدئو آموزشی
اما سوال و مشکل اصلی در ویدئو حل نشد.
هدف اصلی از آموزش میباست آموزش ایجاد shortcut از پوشه img درون storage به پوشه public_html هست.
یعنی فایل ها فقط در مسیر (غیر عمومی) storage آپلود بشوند اما پوشه img درون storage از پوشه public_html هم در دسترس باشد.
دقیقا همین اتفاق با دستور زیر در لوکال به درستی اجرا میشود.
‘links’ => [
public_path(‘img’) => storage_path(‘upload\img’)
]
سلام وقت بخیر
بهترین و ساده ترین راه طبق مستندات لاراول این هست که تمام فایل ها در storage آپلود بشوند و طبق دستورات زیر از پوشه ای خاص در storage یک shortcut در پوشه public_html ایجاد کنیم.
در مسیر config/filesystems.php قسمت link را طبق زیر مشخص کنیم.
‘links’ => [
‘/home/mdabbagh/public_html/img’ => storage_path(‘upload/img’)
]
دستور بالا میگه از پوشه img درون upload در storage یک shortcut در مسیر home/mdabbagh/public_html/img ایجاد کن.
نکته مهم اینه که mdabbagh همان نام user هاست شماست.
و بعدش باید در ترمینال دستورات زیر را اجرا کنیم.
php artisan optimize:clear
php artisan storage:link
نکته مهم: حتما باید پوشه img از قبل در public_html از قبل ایجاد نشده باشد.
در لوکال باید از دستور زیر استفاده کنیم.
‘links’ => [
public_path(‘img’) => storage_path(‘upload\img’)
]
سلام خدمت استاد عزیز.
متشکرم از آموزش فوق الادتون بسیار عالی بود .
با سلام و عرض ادب
ممنون از لطف شما
سلام
روزتون به خیر
آموزش خیلی خوبی بود ممنونم.
ایشون از پرسنل خودتون هستن؟ جایی هست بشه آموزش های دیگشونو خرید یا مشاهده کرد؟
با سلام و احترام
خواهش می کنیم
آموزش های درج شده در سایت رایگان است
چنانچه آموزش خاصی را مد نظر دارید بفرمایید