Удалить Laravel файл из хранилища / app / public / photos - PullRequest
2 голосов
/ 20 февраля 2020

Я пытаюсь удалить файл из хранилища / app / public / photos. URL-адрес, который я получаю от внешнего интерфейса: http / IP_Address / app_name / public / storage / photos / file_name. Я пробовал и unlink, и File: delete, но не работает, потому что, я считаю, filepath неверен. Я пробовал basename и public_path, но это не решает проблему. Любая помощь?

$file_path = public_path(basename($fullLinkToPhoto));
if(File::exists($file_path)) File::delete($file_path);

Редактировать: Ответ ниже Лараби работал. Я использовал метод хранения. Это мой последний код. Я получил имя файла из полной ссылки на фотографию с использованием basename и использовал его в Storage :: delete.

$file_name = basename($fullLinkToPhoto);     
if(\Storage::exists('photos/'.$file_name)){
    \Storage::delete('photos/'.$file_name);
}

1 Ответ

1 голос
/ 20 февраля 2020

Существует три различных способа:

хранилище / приложение / общедоступное /

по хранилищу:

  if(\Storage::exists('photos/picture.png')){
    \Storage::delete('photos/picture.png');
  }

по файловой системе:

 if(\File::exists(public_path('photos/picture.png'))){
    \File::delete(public_path('photos/picture.png'));
}

от php

if(file_exists(public_path('photos/picture.png'))){
  unlink(public_path('photos/picture.png'));
}

Вы должны использовать «решение для хранения».

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