2013-03-06 64 views
-1

我試圖顯示存儲在我的數據庫中的圖像。我知道將圖像存儲在數據庫中並不是最佳實踐,但爲此我需要它。我的問題是,當我去顯示圖像,我得到的是一個加密代碼,我猜是代碼中的圖像,但不是在視覺上我想要的。當我使用標題標記識別圖像時,我所得到的只是一個縮略圖,表示它沒有正確讀取它。任何幫助都會很棒。使用sql將客戶端的圖像發送到數據庫

以下是我正在使用的代碼。我一直在使用它無論是在PHP或HTML顯示嘗試在兩種方式,但無法顯示圖像:

while($row = mysql_fetch_array($result)) 
{ 
$Long = $row['Long']; 
$Lat = $row['Lat']; 
$img = $row['file']; 
echo "<b><center>Database Output</b><br><br>"; 

echo "<td>" .$row['file']."</td>"; 
echo "----"; 
echo "<td>" .$row['Lat']."</td></center>"; 
//echo "<td>" .$row['file']."</td>"; 
} 
?> 
    <div id="map"> 
<img src="<? $img?>" alt=""> 

感謝任何輸入

+0

你如何保存你的圖像中的數據庫?什麼是$行['文件']'? – Hast 2013-03-06 16:15:47

+0

目前我只是手動將它保存爲一個blob,$ row ['file']是它保存在 – 2013-03-06 16:17:57

回答

2

要麼你嵌入圖像到HTML作爲數據頁URI

<img src="data:image/jpeg;base64,<?php echo base64_encode($img) ?>" /> 

這對「大」的文件令人髮指NASTILY可怕的 - 你讓不可能的瀏覽器緩存圖像,迫使用戶下載base64編碼數據,他們加載頁面EVERY時間。

,或者你有一個子腳本就可以提供實際的圖像,並有更多的東西一樣:

<img src="getimage.jpg?id=XXX"> 

<?php 

$data = get_image_from_db($_GET['id']); 
header('Content-type: image/jpeg'); 
echo $data; 
+1

中的列「可惡的NASTILY可怕的」,不幸的是,這可能是一個輕描淡寫的哈哈。第二個建議FTW。 – 2013-03-06 16:20:35

+0

剛剛嘗試過你的第一個解決方案,它的功能完美,我知道它可能不是你說的最好的解決方案,但它的工作原理就是我所需要的,所以非常感謝你 – 2013-03-06 16:21:13

相關問題