私はZend Frameworkを初めて使っています。これは基本的な質問ですが、私には許されますが、データベースから取得したイメージを表示しています。Zend Frameworkでイメージを表示
編集:基本的には、/ public /フォルダーからリソースにアクセスすることはできません。私は、フロントコントローラが<link>
タグと<img>
タグ内でsrcリクエストをリダイレクトしていると推測しています。私が検索するたびに、/ public /フォルダ外の画像にアクセスするのに問題がある人がいますが、/ publicフォルダの下に保存されていれば問題ありません。私は間違って何をしていますか?
私は部分図に次のコードを持っている:$user
のダンプを行う
<?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>
は私に次のようになります:
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">
:?レンダリングされるページからソースコードを見てみると、問題の行は次のようにレンダリングされますか私は検索して検索して見つけられませんでした。
仮想ホストを使用していますか?通常、あなたはフロントエンドのURLに/ publicを持たないでしょう。 'public'は仮想ホスト定義の一部です。 –
はい私はそうです。/public /フォルダがdocルートとして設定されています。私は/ public /なしで試してみたが、それでも動作しません。私が絶対的な定義を与えても、私はサイト全体のどこにでも画像にアクセスすることはできません。 (あるいは、 '@ import'を使わない限り、css) –
ウェブルートの標準の' .htaccess'は、実際に存在するファイル/ディレクトリのフレームワークをバイパスします。 'http:// yourhostname/img/users/small_thumbs4fa3072fe09a5 .jpg'をブラウザーに入れても画像は取得できません。もう一つの考え: 'small_thumbs'はフォルダーですか?そうなら、スラッシュがありません。正しいURLは'/img/users/small_thumbs/4fa3072fe09a5 'です。 jpg' –