علی کوندری
3 سال پیش توسط علی کوندری مطرح شد
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 Freel...
@mhyeganeh 3 سال پیش آپدیت شد
0

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

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

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

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


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

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


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 3 سال پیش مطرح شد
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 Freel...
@mhyeganeh 3 سال پیش آپدیت شد
0

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

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

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

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


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

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