سلام دوستان.
من برای ذخیره سازی عکس به صورت زیر عمل میکنم.
protected function uploadImages($file)
{
if (file_exists($file)) {
$year = Carbon::now()->year;
$imagePath = "/upload/images/{$year}/";
$filename = $file->getClientOriginalName();
$file = $file->move(public_path($imagePath), $filename);
$url['images'] = $this->resize($file->getRealPath(), $imagePath, $filename);
return $url;
}
}
به صورت لوکال به درستی نمایش داده میشه ولی رو هاست آپلود میکنم نمیشناسه عکسو.
در واقع بر روی هاست عکس ها وارد فولدر public_html نمیشن و داخل خود فولدر پروژه وارد فولدر public میشن.
باید چیکار کنم تا درست بشه؟
مشکل حل شد و اینو میذارم واسه دوستانی که شاید این مشکل رو داشته باشن.
به مسیر زیر برین
\app\Providers\AppServiceProvider
و در متد register، دستور زیر رو قرار بدن.
$this->app->bind('path.public', function() {
return base_path('../public_html');
});
سلام
منم این مشکل رو داشتم قبله باید داخل فایل env متغیر debug رو false کنی بعد از کد من استفاده کنی
if(!env("APP_DEBUG")){
$this->app->bind('path.public', function () {
return realpath(base_path() . '/../public_html'); // پوشه public من 1 مسیر عقب تر بود. تو ببین چی میخوای جای گزینش کنی
});
}
کد بالا رو بذار توی فایل AppServiceProvider داخل تابع register
شاید هم من خیلی خود خواه هستم.
$imageName = time() . Auth::user()->name . "." . $request->img->getClientOriginalExtension();
$request->img->move(public_path('upload/'), $imageName);
مشکل حل شد و اینو میذارم واسه دوستانی که شاید این مشکل رو داشته باشن.
به مسیر زیر برین
\app\Providers\AppServiceProvider
و در متد register، دستور زیر رو قرار بدن.
$this->app->bind('path.public', function() {
return base_path('../public_html');
});
درسته اما اگر روی سیستم deploy میکنی و بعد انتقال میدی با کد من راحت تری
فقط کافیه فایل env رو ادیت کنی تا از پوشه public به public_html نقل مکان کنه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟