如何在PHP 中顯示來自MySQL 資料庫的BLOB 影像
您嘗試在PHP 中顯示來自MySQL 資料庫的BLOB 影像,但遇到錯誤。讓我們探討一下解決問題的兩個選項:
選項1:內聯Base64 編碼
echo '<dt><strong>Technician Image:</strong></dt><dd>'; echo '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'; echo '</dd>';
此方法將BLOB 影像編碼為Base64 字串並直接嵌入HTML 中。但是,對於大量圖像,不建議使用此方法。
選項2:影像輸出PHP 檔案
使用下列程式碼建立image.php 檔案:
<?php $id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0; $image = getImageFromDatabase($id); // Your function to fetch the image from the database header('Content-Type: image/jpeg'); echo $image; ?>
在HTML 中:
<img src="image.php?id=<?php echo $image_id; ?>" />
此方法從資料庫中檢索影像並將其直接發送到瀏覽器,確保設定正確的MIME 類型(image/jpeg)。標題行:
header('Content-Type: image/jpeg');
指示瀏覽器將輸出解釋為圖像並相應地顯示它。這消除了您遇到的二進位 JPEG 資料問題。
以上是如何在 PHP 中顯示來自 MySQL 的 BLOB 圖像:Base64 編碼與單獨的圖像檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!