Я сделал простую страницу загрузки изображений в моем проекте Symfony, следуя этим документам . Загрузка файлов прекращается после установки разрешений в целевой каталог на 777. К сожалению, когда я пытаюсь отобразить загруженные изображения в галерее, они не будут отображаться, и Apache 2 дает мне ошибку «не найден».
Веб-путь к изображениям динамически генерируется моим объектом GalleryImage
:
public function getWebPath() { return null === $this->path ? null : $this->getUploadRootDir() . '/' . $this->path; } protected function getUploadRootDir() { // the absolute directory path where uploaded // documents should be saved return __DIR__ . '/../../../../../web/' . $this->getUploadDir(); } protected function getUploadDir() { // get rid of the __DIR__ so it doesn't screw up // when displaying uploaded doc/image in the view. return 'uploads/gallery'; }
По моему мнению (twig), я пытаюсь отобразить их со следующим:
<a href="{{ image.webPath }}" data-lightbox="gallery"><img src="{{ asset(image.webPath) }}" class="gallery-thumb"></a>
Что генерирует разметку, которая выглядит так:
<a href="/home/kevin/www/diva/src/MajorProductions/SewingDiva/SiteBundle/Entity/../../../../../web/uploads/gallery/d15728da272656a4ab0e670f589ee033e43494d6.jpeg" data-lightbox="gallery"><img src="/home/kevin/www/diva/src/MajorProductions/SewingDiva/SiteBundle/Entity/../../../../../web/uploads/gallery/d15728da272656a4ab0e670f589ee033e43494d6.jpeg" class="gallery-thumb"></a>
Но, когда я пытаюсь получить к ним доступ, он говорит мне:
Запрошенный URL /home/kevin/www/diva/web/uploads/gallery/d15728da272656a4ab0e670f589ee033e43494d6.jpeg не найден на этом сервере
Хотя, опять же, в целевом каталоге есть 777 для своих прав, и я вижу изображения там в файловой системе.
Любые идеи, почему это говорит мне, что мои изображения не могут быть найдены?