2012-04-15 2 views
0

単に私はページに表示されたデータベースからイメージを取得するために探しています。データベースのzendフレームワークイメージ

イメージパスがデータベースにblobとして保存されていて、imgタグのsourceプロパティにフィールドをエコーし​​ようとしました。

<div id="club_pictures"> 
    <img id="pic_1" src="<?php echo $this->clubs['pic_1']; ?>" /> 
    <img id="pic_2" src="<?php echo $this->clubs['pic_2']; ?>" /> 
    <img id="pic_3" src="<?php echo $this->clubs['pic_3']; ?>" /> 
</div> 

私は、ブラウザでソースを表示をクリックして、私は正確なHTMLを取得する場合:しかし、私は、ランダムな文字の負荷が表示され、何の画像が...以下は私が画像を表示したいページのビューで持っているものではありません取得します私は画像を表示したいと思う。

おかげ

リック

答えて

0

I have the image path saved as a blob in the database

は、これは矛盾です。データベースフィールドには、イメージパスまたはイメージのバイナリデータが格納されます。私はそれが後者であることをあなたの質問の残りの部分に基づいて仮定しています。

バイナリデータをこのようにページにエコーすることはできません。別のアクションまたはURLを作成して、URLのパラメータに基づいて適切なイメージデータをロードし、適切なヘッダー(適切なMIMEタイプを含む)を提供し、バイナリデータをエコーし​​ます(他の出力なし)。 HTMLの例では、各画像のこのアクションのパスをエコーし​​ます。あなたが狩りをしている場合、PHPでどのようにこれを説明する例がたくさんあるはずです。

+0

もし私がイメージパスを望むならば、私はvarcharを使うことができますか?イメージパスをimgタグのsrcフィールドにエコーしますか? – Rik89

+0

はい、代わりにイメージへのパスを保存し、img –

+0

のsrcにエコーします。これを試しました。フィールドはvarcharで、1024文字の制限があります。私はチェックしてイメージパスが正しい。私は - >も使っていましたが、firefoxでソースを見ると - >のように見えますが、画像がありません。私は画像を表示するために単純なHTMLを追加します。 – Rik89

0

また、それは私がイメージファイルの絶対的な誓いを与えるbaseUrlにヘルパーを使用している必要がありますが判明し、直接HTML

$base64 = base64_encode($pictureBinary)); 
$image = '<img src="data:image/gif;base64,' . $base64 . '" />'; 
echo $image; 
+0

私はこの感謝を試してみましょう! – Rik89

0

に画像を埋め込む試すことができます。私がこれをやろうとしたら、それはうまくいった! ZendFramework images not loading [この投稿] [1]ありがとうございます。私の作業コードは次のようになります:

<img id="pic_1" src="<?php echo $this->baseUrl($this->clubs['pic_1']) ?>" /> 

ありがとうございました!

関連する問題