2016-01-11 78 views
0

我創建了一個表格,將客戶端護照存儲在我的數據庫中。我想回顧一下這些圖像,但它並沒有給我屏幕上的圖像。相反,它會寫出不同符號的長字母。來自數據庫的Php圖像顯示

下面是我的代碼,請幫助我。謝謝

$sql = "SELECT * FROM `file` WHERE id = 8"; 
    $mq = mysqli_query($dbconnect, $sql) or die ("not working query"); 
    $row = mysqli_fetch_array($mq) or die("line 44 not working"); 
    $s=$row['data']; 
    echo $row['data']; 

    echo '<img src="'.$s.'" alt="HTML5 Icon"  style="width:128px;height:128px">'; 

請問我的代碼有什麼問題。

感謝

+0

請不要把你的'死()'消息放到一個生產服務器。 –

回答

1

因爲你說你看到很多字符,而不是文件名的,我以爲你不路徑存儲到該圖像(那麼作爲你試圖使用你可以使用SRC),但圖像內容本身,它是JPG(你可以改變爲PNG或任何類型)。如果是這樣,使用數據URI語法源:

$src = "data:image/jpg;base64,".base64_encode($row['data']); 
echo '<img src="'.$src.'" alt="HTML5 Icon" style="width:128px;height:128px">'; 

這就是所謂的數據URI - 你可以閱讀更多關於它例如這裏:https://en.wikipedia.org/wiki/Data_URI_scheme

+0

k。我將圖像存儲在路徑中。我認爲你的意思是說應該以正確的形式收集圖像。 – HEZEKIAH

+0

不,我的意思是顯示它。所以如果你的'$ row ['data']'是一個路徑,那你怎麼看到這些字符?我仍然猜測你把它作爲圖像內容存儲 - 嘗試在我的答案是這個代碼,但使用適當的擴展名 - PNG,JPG ... –

+0

是的,我把它作爲圖像內容存儲。它從一個文件上傳html表單。代碼也起作用。我非常棒。但請解釋您使用的方法。我的意思是功能。 BASE64_ENCODE。很多 – HEZEKIAH

相關問題