我有兩個虛擬系統進行開發。第一個是Windows + xampp(apache,php,mysql),第二個是Linux + apache + php + mysql。我有非常非常簡單的頁面,使用外部鏈接從數據庫加載圖像(是的,圖像不在文件系統中,圖像不在這裏,是正確與否)。外部圖像不顯示在Apache下
第一頁顯示的照片:從數據庫
<img src="photo.php?photo_id=4" height="127" width="127">
第二個頁面加載它們:
if (isset($_GET['photo_id'])) {
$link = getDBconnection();
$result = getPhoto($link, $_GET['photo_id']);
if ($result) {
$row = mysql_fetch_assoc($result);
header("Content-type: " . $row['MIMEtype']);
echo $row['photoImage'];
}
closeDBconnection($link);
}
一切都在Windows機器上,但Linux機器上做工精細,照片只是不」 t出現。我的意思是來自頁面目錄的圖像文件加載並顯示,但不知何故這個外部鏈接停止工作。我放了幾個回聲,並確保腳本執行和photoImage有二進制數據。
我不知道,這只是配置問題(可能,我沒有每天配置apache/php/mysql)。我一直在堅持。有任何想法嗎?
PS。數據庫完全一樣。我剛從Windows導出/導入到Linux的mysql數據庫。從數據庫中成功選擇任何其他數據。這只是照片,不起作用。
已解決
感謝Marc B的編碼小費。我意識到可能的問題,但完全忘了它。通過ftp再次將文件複製到LINUX機器後,再次檢查我沒有更改編碼(通過編輯任何文件)後,照片顯示出來。
當outputtnig從DB的圖像你有沒有設置在photo.php頭爲圖像的正確圖像類型?即jpeg,png等。 – SW4
是的,使用$ row ['MIMEtype']將標題設置爲'image/jpeg'。 MIME類型作爲照片表格中的屬性存儲。 – qlf00n
正在使用同一瀏覽器是測試? – Ryre