顯示儲存在MySQL BLOB 中的映像
嘗試使用提供的PHP 顯示儲存在MySQL 資料庫中的BLOB 影像時程式碼中,使用者遇到了在圖像之前或之後輸出任何文字或內容會導致顯示錯誤的問題。本文針對這個問題,提出了一個在圖片旁邊顯示附加元素的解決方案。
原始程式碼:
<code class="php">include("inc/library.php"); connectToDatabase(); $sql = "SELECT * FROM theBlogs WHERE ID = 1;"; $result = mysql_query($sql) or die(mysql_error()); $row = mysql_fetch_array($result); header("Content-type: image/jpeg"); echo $row['imageContent']; $db->close();</code>
嘗試直接在頁面中回顯圖片內容,但是遇到如果在其之前或之後輸出任何其他內容,則會出現問題。
解決方案
出現此問題的原因是瀏覽器將圖像資料以外的任何文字或內容視為圖像資料的一部分圖像。為了解決這個問題,可以將影像資料轉換為 Base64 並嵌入到 中。
<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode($row['imageContent']) . '" />'; echo 'Hello world.';</code>
此解決方案將影像資料轉換為 Base64 並將其放置在 中。標籤,允許圖像正確顯示,同時也允許在頁面上輸出附加內容。
注意:雖然這種方法有效,但對於效能和快取來說並不是最佳的。建議探索替代解決方案來顯示 MySQL 資料庫中儲存為 BLOB 的映像,例如使用快取機製或外部映像伺服器。
以上是如何顯示儲存為 MySQL BLOB 的映像以及其他內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!