Задать вопрос
@BarneyGumble

Почему не работает file_exists() в Laravel при загрузке на сервер?

Есть проект на Laravel последней версии. Работаю над ним локально под Open Server

Есть проверка на существование изображения:
function productImage($path)
{
    return $path && file_exists('storage/'.$path) ? asset('storage/'.$path) : asset('img/not-found.jpg');
}


Локально всё отлично работает и проверка корректно проходит

Залил этот проект на удалённый сервер (Ubuntu, Apache), теперь проверка не проходит, хотя файлы на сервере гарантированно есть. Права на storage и то что внутри поставил 777, но всё равно не проходит

В чём может быть дело?
  • Вопрос задан
  • 173 просмотра
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
@BarneyGumble Автор вопроса
Проблему решил следующей проверкой:

function productImage($path)
{
    return $path && Storage::disk('local')->exists('public', $path) ? Storage::disk('local')->url($path) : asset('img/not-found.jpg');
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
SerafimArts
@SerafimArts
Senior Notepad Reader
Относительные пути, Карл! Никогда не используй относительные пути.
Ответ написан
Ваш ответ на вопрос

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

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