با سلام خدمت دوستان
من میخوام وقتی برای محصولی تصویر جدید ثبت میکنم تصویر قبلی رو حذف کنم
این کد رو هم نوشتم
if($request->photo_id != $product->photo_id){
Storage::delete('app/public/photo/600/'.$product->photo->name);
}
و تو کنترلر هم اینو یوز کردم
use Illuminate\Support\Facades\Storage;
ولی کار نمیکنه ممنون مشیم راهنمایی کنید
اول از همه چک کنید که اصلا آیا وارد شرط دستوری if که نوشتید میشید یا نه... یعنی شاید اصلا عبارت
$request->photo_id != $product->photo_id
به هر دلیلی صدق نمی کنه که دستور حذف فایل اجرا بشه.
اگر از صحتش خاطر جمع شدید به احتمال زیاد قضیه بر میگرده به آدرس دهی تون که صحیح نیست. چک کنید که disk پیش فرض storage چی تنظیم شده و طبق اون آیا آدرس دهیتون صحیح هست یا نه.
معمولا من برای حذف فایل هام از 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)
اول از همه چک کنید که اصلا آیا وارد شرط دستوری if که نوشتید میشید یا نه... یعنی شاید اصلا عبارت
$request->photo_id != $product->photo_id
به هر دلیلی صدق نمی کنه که دستور حذف فایل اجرا بشه.
اگر از صحتش خاطر جمع شدید به احتمال زیاد قضیه بر میگرده به آدرس دهی تون که صحیح نیست. چک کنید که disk پیش فرض storage چی تنظیم شده و طبق اون آیا آدرس دهیتون صحیح هست یا نه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟