2012-04-15 39 views
0

只是我正在尋找從頁面上顯示的數據庫中獲取圖像。來自數據庫的zend框架圖像

我將圖像路徑保存爲數據庫中的斑點,然後嘗試在img標記的源屬性中回顯該字段。但我得到顯示的隨機字符負載和沒有圖像..下面是我在頁面視圖我想要顯示的圖像:

<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

因此,如果iI想要圖像路徑,我可以使用varchar?然後將圖像路徑回顯到img標籤的src字段中? – Rik89 2012-04-16 14:22:35

+0

是的,你會存儲圖像的路徑,而只是回聲到你的img的src – 2012-04-16 14:55:23

+0

我試過這個,字段是varchar,並有1024個字符的限制,我已經檢查和圖像路徑是正確的。我用 - >這也是正確的,但沒有圖像..另一個奇怪的是,我只是添加在純粹的HTML顯示圖像,我什麼都得不到.. – Rik89 2012-04-16 19:58:16

0

您也可以嘗試直接在HTML

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

好的我會試試這個謝謝! – Rik89 2012-04-16 14:21:58

0

中嵌入圖像原來我應該已經使用的baseUrl幫手給圖像文件的絕對誓言。只要我這樣做,它的工作!感謝ZendFramework images not loading [此帖] [1]。我的工作代碼如下所示:

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

謝謝大家的幫助!