Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memaparkan Imej BLOB daripada MySQL dalam PHP: Pengekodan Base64 lwn. Fail Imej Berasingan?

Bagaimana untuk Memaparkan Imej BLOB daripada MySQL dalam PHP: Pengekodan Base64 lwn. Fail Imej Berasingan?

DDD
DDDasal
2024-12-10 17:21:10346semak imbas

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

Cara Memaparkan Imej BLOB daripada Pangkalan Data MySQL dalam PHP

Anda cuba memaparkan imej BLOB daripada pangkalan data MySQL dalam PHP tetapi menghadapi ralat . Mari terokai dua pilihan untuk menyelesaikan isu:

Pilihan 1: Pengekodan Inline 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>';

Kaedah ini mengekod imej BLOB ke dalam rentetan base64 dan membenamkannya secara terus ke dalam HTML. Walau bagaimanapun, pendekatan ini tidak disyorkan untuk sejumlah besar imej.

Pilihan 2: Fail PHP Output Imej

Buat fail image.php dengan kod berikut:

<?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;
?>

Dalam HTML anda:

<img src="image.php?id=<?php echo $image_id; ?>" />

Kaedah ini mendapatkan semula imej daripada pangkalan data dan menghantar ia terus ke penyemak imbas, memastikan jenis MIME yang betul ditetapkan (imej/jpeg). Baris pengepala:

header('Content-Type: image/jpeg');

mengarahkan penyemak imbas untuk mentafsir output sebagai imej dan memaparkannya dengan sewajarnya. Ini menghapuskan isu data JPEG binari yang anda alami.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Imej BLOB daripada MySQL dalam PHP: Pengekodan Base64 lwn. Fail Imej Berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn