首頁 >資料庫 >mysql教程 >如何在 PHP 中顯示來自 MySQL 的 BLOB 圖像:Base64 編碼與單獨的圖像檔案?

如何在 PHP 中顯示來自 MySQL 的 BLOB 圖像:Base64 編碼與單獨的圖像檔案?

DDD
DDD原創
2024-12-10 17:21:10412瀏覽

How to Display BLOB Images from MySQL in PHP: Base64 Encoding vs. Separate Image File?

如何在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']) &amp;&amp; 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn