@SimonPomidorkin

Почему возникает ошибка при удалении файла в PHP?

Приветствую! Возможно ответ на поверхности, но я уже убил много времени, чтобы понять, почему возникает ошибка при попытки удалить файл.

Суть заключается в том, что я удаляю пост из бд, а вместе с постом я пытаюсь удалить изображение, которое относится к этому посту. В итоге, как я не пытался решить проблему - либо возникает ошибка, либо ошибки нет, но картинка просто не удаляется из папки public/images, хотя сам пост удаляется без проблем. Заранее благодарю за помощь! (Делаю я всё это в Laravel)

Текст ошибки
unlink(//project.ru/public/images/15319033962.jpg): Invalid argument
Код удаления файла
public function destroy($id)
    {
        $post = Post::findOrFail($id);
        unlink($post->photo->file);
        $post->delete();
        return redirect('/admin/posts');
    }
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
$post->photo->file - видимо хранит url файла "project.ru/public/images/15319033962.jpg" (кстати project.ru тут явно лишний, Вы при смене домена будете всю базу перебирать), а для удаления нужен путь.
Для ОС "project.ru/public/images/15319033962.jpg" - это хрен его знает где. Это непонятно. ОС ждет конкретное место на диске (путь или path), в Вашем случае это видимо "C:\OSPanel\domains\project\public\images\15319033962.jpg"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sidni
Php Developer
Может попробывать что-то в таком роде
Storage::disk('local')->delete($post->photo->file);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы