Я новичок в Zend Framework, так что простите, если это основной вопрос, но у меня есть время, отображающее изображение, извлеченное из базы данных.Отображение изображения в Zend Framework
Редактировать: В основном я не могу получить доступ к ресурсу из папки/public /. Я предполагаю, что фронт-контроллер перенаправляет запросы src внутри тегов <link>
и <img>
тегов. Каждый раз, когда я выполняю поиск, я вижу, что у людей возникают проблемы с образами за пределами/public/folder ... но они кажутся прекрасными, пока они хранятся в папке/public. Что я делаю не так?
У меня есть следующий код в целях частичной:
<?php
$user = Zend_Layout::getMvcInstance()->getView()->user;
?>
<section class="one-fifth first sidebar_profile">
<div class="one-fifth first about_img"><img src="<?php if($user->picture){echo '/public/img/users/small_thumbs/'.$user->picture;}else{echo "#";} ?>" alt="name"/>
<p class="name"><?php if($user) {echo $user->username; } else { echo "Username";} ?></p>
Doing дамп $user
дает мне следующее:
object(Zend_Db_Table_Row)[70]
protected '_data' =>
array
'userID' => string '22' (length=2)
'username' => string 'test' (length=4)
'firstName' => string '' (length=0)
'lastName' => string '' (length=0)
'email' => string '[email protected]' (length=18)
'password' => string '098f6bcd4621d373cade4e832627b4f6' (length=32)
'picture' => string '4fa3072fe09a5.jpg' (length=17)
'verified' => string '1' (length=1)
'confirm_key' => null
'admin' => null
Это продолжается довольно долго, но точку файл есть. Глядя на исходный код из страницы, которая оказанной, то строка отображается как:
<img alt="name" src="/public/img/users/small_thumbs4fa3072fe09a5.jpg">
Должен ли я использовать какой-то вид помощника, чтобы отобразить это? Я искал и искал, и не мог найти его.
Вы используете виртуальный хост? Как правило, у вас не будет/'public' в ваших внешних URL-адресах; «public» будет частью определения виртуального хоста. –
да я. Папка/public/установлена в качестве корня doc. Я пробовал это с/без/public /, и это все равно не сработает. Даже когда я даю абсолютное определение, я не могу получить доступ к изображениям в любом месте сайта. (Или css, если я не использую '@ import' –
. Стандартный' .htaccess' в корневом каталоге сети будет обходить фреймворк для любых файлов/каталогов, которые _ фактически существуют. Если вы введете 'http: // yourhostname/img/users/small_thumbs4fa3072fe09a5 .jpg в браузере, вы не получаете изображение? Еще одна мысль: «Маленькая_база» - папка? Если это так, вам не хватает косой черты, правильным URL-адресом будет '/ img/users/small_thumbs/4fa3072fe09a5. jpg' –