Я кодирую небольшой компонент новостей для веб-сайта с использованием cakephp. Идеальный способ, которым это будет работать, - позволить администратору ввести заголовок для новостного элемента, источника, ссылки на него (если есть), его содержимого (для резервного копирования) и сопроводительного изображения для него.Отображение изображения в Cakephp 2.3
Все работает, но изображение часть. Поскольку каждая запись имеет самое большее одно изображение, я сохраняю информацию об изображении в той же таблице базы данных. Я храню сообщения. До сих пор мне удалось загрузить файл изображения в приложение/uploads/и добавить его данные (имя, размер и тип) в базу данных.
Теперь я не могу показать это.
Все, что я успел сделать озираясь устанавливаются изображение, чтобы быть единственным содержанием страницы с помощью:
$this->response->file($url);
Однако, мне нужно, чтобы иметь возможность показать это изображение в качестве встроенной части веб-сайт, так же, как показано большинство изображений в Интернете. Я смотрю вокруг и, похоже, не нахожу подходящих руководств для этого. Простейшее решение (ссылка на изображение, зная путь к папке с изображениями) также не будет работать, так как они находятся в приложении/uploads, что означает, что если я свяжусь с ним, то cakephp думает, что я вызываю класс 'uploads', который doesn ' t существует. Использование MOD_REWRITE может быть вариантом, но, честно говоря, мне кажется, что это будет скорее хак, так как должен быть способ взять сохраненный файл и выгрузить его как образ, чтобы он мог быть встроен в очень сайт, который его хранит.
Кто-нибудь знает об этом?
размещение изображений в 'app/webroot/uploads' не является опцией? – Nunser
Я думал об этом (помещая их вне папки с тортами), но это немного то же самое - у CakePHP должен быть способ сделать это, не прибегая к таким трюкам, и в идеале я бы хотел, чтобы все файлы имели отношение к торт в своей папке. Кстати, по приложению/независимо от того, что я имею в виду папку приложения, в которой запущена программа cakephp (то есть уже на веб-сервере), а не относительный адрес моего компьютера. – Tizzy
'your-cake-folder/app/webroot/uploads' будет находиться внутри папки торта (' webroot' - это папка, в которой хранятся все файлы, которые должны быть доступны для общего доступа, например css и js), она соответствует тому, что вы просили , Я бы не советовал хранить изображения за пределами пирога по этому поводу. – Nunser