2012-04-22 4 views
0

Привет, я использую рамки zend, и я хочу показать изображение. Мое изображение находится в папке /uploads/photo/default.jpg. Если я переведу папку в/public/... everithing работает нормально, но я бы предпочел оставить там, если я могу, потому что все изображения являются образом профиля, поэтому я не хочу оставлять их публично ... Мой код показать изображениеZend display image

<img id="image" src=<?php echo $this->baseUrl().'/uploads/foto/default.jpg'; ?> > 

И я знаю, что это не работает, но есть способ оставить мою папку там, меняя мой код?

ответ

2

Изображения должны быть общедоступными, поэтому браузер может их просматривать. Если вы не хотите физически хранить их в общей папке, вам либо нужно сделать их доступными оттуда (путем создания символической ссылки из общедоступных/загружаемых файлов в папку uploads), либо выполнить их через. скрипт PHP, который сможет считывать данные из любого места, где находится файл.

Обслуживание двоичных данных через. У PHP есть свои проблемы, так как он будет медленнее, и вам нужно будет обеспечить отправку соответствующих заголовков. Но это позволит вам ограничить доступ, например. позволяя пользователям просматривать изображения своих друзей, если это ваша цель.

+0

моя задача сделать мое приложение более безопасным ... что я должен сделать, так это создать еще одну папку для загрузки в public/и создать файл .php с этим кодом? Simone

+0

Вы можете просто создать символическую ссылку из командной строки как одноразовую, не нужно делать это с помощью PHP: 'ln -s/home/simone/NetBeansProjects/fproject/uploads/home/simone/NetBeansProjects/fproject/public/uploads' –

+0

ya я знаю, но если я ставлю свое приложение на арубу, у меня нет оболочки – Simone