راکت
حل شده

حذف تصاویر از Storage

3 پاسخ

با سلام خدمت دوستان
من میخوام وقتی برای محصولی تصویر جدید ثبت میکنم تصویر قبلی رو حذف کنم
این کد رو هم نوشتم

        if($request->photo_id != $product->photo_id){

            Storage::delete('app/public/photo/600/'.$product->photo->name);

        }

و تو کنترلر هم اینو یوز کردم

use Illuminate\Support\Facades\Storage;

ولی کار نمیکنه ممنون مشیم راهنمایی کنید

ثبت پرسش جدید

پاسخ‌ها

3
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

اول از همه چک کنید که اصلا آیا وارد شرط دستوری if که نوشتید میشید یا نه... یعنی شاید اصلا عبارت

$request->photo_id != $product->photo_id

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

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

علی کوندری
علی کوندری
@alikavandary.77

دوستان کسی راه حلی نداره ؟

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

معمولا من برای حذف فایل هام از unlink استفاده میکنم. ولی توی لاراول یکسری توابع مثه همینی که نوشتی وجود داره که باید دقت کنید چطوری config/filesystems.php تنظیم شده. روش های که وجود دارند.

use Illuminate\Support\Facades\File;
File::delete($filename);

//or

use IIlluminate\Support\Facades\Storage;
Storage::disk('public')->delete($filename);

//or

unlink($file)

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام