من تو لوکال آپلود میتونم بکنم بدون هیچ مشکلی حالا تو هاست اومدم تصویر تو دیتا ذخیره میشه ولی میره قسمت
storage>>app
و منم کد
php artisan storage:link
رو زدم storage
داخل public هست مشکل اینه عکسه تو قسمت app ذخیره میشه ولی تو قسمت public نیست
با سلام و وقت بخیر دوست گرامی
لطف بفرمایید کدی که برای آپلود نوشتید بذارید تا بیشتر بشه راهنماییتون کرد
با تشکر
در فایل config/filesystems.php میتونید تعیین کنید که disk پیش فرضتون چی باشه تا اگر موقع استفاده از Storage بصورت خاص تعیین نکردید از اون استفاده کنه. هر یک از این گزینه ها هم یک root جداگانه دارند. گزینه های اضافه تر هم میتونید خودتون اضافه کنید:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
//...
],
حالا احتمالا قضیه ای که اتفاق افتاده این هست که حالت disk پیش فرض شما در نسخه لوکال روی public
تنظیم شده ولی برای نسخه بارگزاری شدتون مقدار local
تنظیم شده. به همین خاطر مقصد بارگزاری فایل هاتون با هم فرق دارند. ( به مقدار FILESYSTEMDISK در فایل env. تون هم توجه کنید)
یک راهکار دیگه هم این هست که موقع استفاده از Storage Facade بصورت خاص disk و محل قرارگیری تون رو تعیین کنید:
Storage::disk('public')->put('file.jpg', $contents);
سلام تو .env
FILESYSTEM_DRIVER=local
و
filesystem
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
احساس میکنم پیام قبلیم رو درست نخوندید...!
الان دقیقا داره درست رفتار میکنه. چون آدرس اصلی local اگر دقت کنید برابر با storage_path('app')
تعریف شده. اگر میخواید بجای پوشه app داخل app->public قرار بگیره در فایل env. مقدار local رو تغییر بدید به public.
بعد از اعمال تغییرات اگر قبل کانفیگ هاتون رو cache کردید لازمه که با یکی از دستورات زیر کش رو پاک کنید تا تغییرات اعمال بشن:
php artisan config:clear
php artisan optimize
سلام
ممنون بابت پاسختون ولی حالا مشکل اینه که این میره تو قسمت
storage>>public>>public
ذخیره میکنه
سلام
درست ذخیره میکنه مشکل اینه که اون لینکه که باید کار کنه نمیکنه در کل عکس ذخیره میشه باید او عکس تو publichtml باشه نیست همین
من تو env
قسمت
FILESYSTEMDRIVER=public
بازم مشکل حل نشده
سلام.
به مسیر زیر برین:
\app\Providers\AppServiceProvider
و به متد register کد زیر رو اضافه کنید.
$this->app->bind('path.public', function() {
return base_path('../public_html');
});
موفق باشید.
سلام
ممنون از پاسختون ولی این کد زمانی کار میکنه که عکس ذخیره شده به public لینک بشه و ما اینو بهش بدیم تا تو public_html کار کنه سوال من اینه عکس من تو storage>>app>>public ذخیره میشه ولی لینک نمیشه به public و public_html
سلام
چون تو لوکال زده بودم بود تو هاست وقتی هم میزنم میگه بزای شما ایجاد شده حتی پاکشم کردم دوباره دستور رو زدم خطا گرفت
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟