Методы удаления хранилища / файла не удаляют файл из хранилища - PullRequest
0 голосов
/ 19 февраля 2020

Я загружаю изображения в storage/uploads, и у меня есть очередь, которая загружает эти изображения в AWS. Вот код задания:

$path = storage_path() . '/uploads/' . $this->fileId;
$fileName = $this->fileId . '.png';

if (Storage::disk('s3images')->put('profile/' . $fileName, fopen($path, 'r+'))) {
   File::delete($path);
}

Как только изображение было загружено в AWS, задание должно удалить изображение из storage/uploads, но оно этого не делает. Изображения успешно загружены на AWS. Я пытался удалить указанные c файлы напрямую без оператора if, но, похоже, ничего не работает. Я даже попробовал с Storage::delete, но это тоже не сработало. Может ли кто-нибудь указать мне правильное направление, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Если вы указали полный путь к каталогу файла, вы можете использовать собственный метод unlink для удаления файлов с сервера.

$path = storage_path() . '/uploads/' . $this->fileId;  
$fileName = $this->fileId . '.png';
$isUploaded = Storage::disk('s3images')->put('profile/' . $fileName, fopen($path, 'r+'));

if ($isUploaded) {
  unlink($path);
}

Документация: unlink php

0 голосов
/ 19 февраля 2020

Вы можете использовать

Storage::delete('upload/profile/' . $fileName);

См. Документацию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...