Laravelで画像のアップロードをして、その画像を変更する場合は元の画像も削除したい。
でないと、Storageの中はどんどんゴミが溜まっていくだけ。。
これはツライ。
しかし下記のやり方ではできない><
$user = Auth::user(); $file_name = basename($path); //ファイルの削除 Storage::delete($user->face_img_name);//not work not can't 削除できない
原因は、config/filesystems.phpを見てほしい
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
ここで、public内はこのような指定になっている。
実は、この指定ができていないのが原因みたい。
こちらで動く(work)よ
$user = Auth::user();
$file_name = basename($path);
//ファイルの削除
Storage::disk('public')->delete($user->face_img_name);//指定してあげる
このようにpublicを指定してあげるとちゃんと削除ができる!