راکت
حل
3 پاسخ

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

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

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

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

        }

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

use Illuminate\Support\Facades\Storage;

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


ثبت پرسش جدید
محمدحسن یگانه
محمدحسن یگانه
تخصص :Full-Stack Web Developer Freelancer
@mhyeganeh4 سال پیشمطرح شد
0

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

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

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

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


علی کوندری
علی کوندری
@alikavandary.774 سال پیشمطرح شد
0

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


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza664 سال پیشمطرح شد
0

معمولا من برای حذف فایل هام از 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)

محمدحسن یگانه
محمدحسن یگانه
تخصص :Full-Stack Web Developer Freelancer
@mhyeganeh4 سال پیشمطرح شد
0

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

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

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

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


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

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