Невозможно найти файл в контроллере Symfony

Я пытаюсь получить загруженные изображения в свой контроллер как тип файла. Я использую этот код, чтобы получить файл из своей папки.

$oldFileNamePath = $this->get('kernel')->getRootDir().'/web/Images/10c67d8989113186c9e29a3567e5b3a2.jpeg';
$pictureFile = new File($oldFileNamePath);

Но каждый раз, когда я получаю сообщение об ошибке после ошибки

The file "/app/web/Images/10c67d8989113186c9e29a3567e5b3a2.jpeg" does not exist

У меня есть изображения в папке web/Images, но там говорится, что файл не существует

Вы используете Laravel или Symfony? Какая версия?

yivi 02.10.2018 08:13

вместо $this->get('kernel')->getRootDir() попробуйте getcwd(). может быть, это сработает.

Yash Parekh 02.10.2018 08:19

@YashParekh спасибо за вашу помощь getcwd() сейчас работает

Narayan Ghimire 02.10.2018 08:32

getcwd () не является официальным рекомендуемым подходом, вместо этого вы должны использовать другой ответ. symfony.com/blog/…

Dominic Wehrmann 02.10.2018 13:43
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
4
157
2

Ответы 2

Думаю, проблема в том, что вы используете абсолютные пути. Попробуйте использовать относительные пути (пытается ..) из вашего текущего файла, потому что я полностью уверен, что вашего проекта нет в /app

Используйте вместо этого:

$this->get('kernel')->getRootDir().'/../web/Images/10c67d8989113186c9e29a3567e5b3a2.jpeg';

ошибка, которая у вас здесь:

The file "/app/web/Images/10c67d8989113186c9e29a3567e5b3a2.jpeg" does not exist

Это правда, потому что общедоступные файлы недоступны из папки приложения. и веб-папка не находится внутри папки приложения.

Другие вопросы по теме