#php #laravel
#php #laravel
Вопрос:
Я не могу удалить файл с помощью функции laravel Storage::delete
.
Мой код хранилища изображений :
$logoPath = $request->file('logo')->store('images','public');
Он хранит изображение в
storage/app/public/images/0HHJ5DygYUXuLC5dgu14KJTPvCEaxhISV8tpb4Pq.png
Я использую Storage::delete('/images/0HHJ5DygYUXuLC5dgu14KJTPvCEaxhISV8tpb4Pq.png');
для его удаления. Но это не работает;
То, что я пробовал, это:
Storage::delete(asset('storage/images/0HHJ5DygYUXuLC5dgu14KJTPvCEaxhISV8tpb4Pq.png'));
Storage::delete(storage_path('images/0HHJ5DygYUXuLC5dgu14KJTPvCEaxhISV8tpb4Pq.png'));`
Даже я пытаюсь удалить какую-то картинку из общей папки. Это не работает.
Storage::delete(public_path('images/logo3.png'));
Я сделал что-то не так?
Комментарии:
1. В ваших журналах ошибок что-нибудь отображается? Возможно, проблема с разрешениями. Вы уверены, что файл существует по этому пути?
2. Что за ошибка отображается?
3. Я бы попробовал
Storage::disk('public')->delete($logoPath)
илиStorage::delete($logoPath)
?
Ответ №1:
это то, что работает для меня, надеюсь, это сработает и для вас:
Storage::delete('public/images/0HHJ5DygYUXuLC5dgu14KJTPvCEaxhISV8tpb4Pq.png');
Комментарии:
1. не беспокойся, чувак! Сначала у меня были некоторые проблемы с этим, не мог определить, какой путь ему нужен
Ответ №2:
Метод delete принимает единственное имя файла для удаления с диска:
Storage::delete('public/images/filename.png');
Ответ №3:
Это php-способ удаления файла. функция unlink().
$file = $request->input('filename');
unlink(storage_path('app/public/images/' . $file));