Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memaparkan Imej yang Disimpan sebagai BLOB MySQL Bersama Kandungan Lain?

Bagaimana untuk Memaparkan Imej yang Disimpan sebagai BLOB MySQL Bersama Kandungan Lain?

DDD
DDDasal
2024-10-21 06:24:02603semak imbas

How to Display an Image Stored as a MySQL BLOB Along with Other Content?

Memaparkan Imej yang Disimpan dalam MySQL BLOB

Apabila cuba memaparkan imej yang disimpan sebagai BLOB dalam pangkalan data MySQL menggunakan PHP yang disediakan kod, pengguna telah menghadapi isu di mana mengeluarkan sebarang teks atau kandungan sebelum atau selepas imej mengakibatkan ralat paparan. Artikel ini menangani masalah ini dan membentangkan penyelesaian untuk memaparkan elemen tambahan di samping imej.

Kod asal:

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

Percubaan untuk menggemakan kandungan imej terus dalam halaman, tetapi menemui masalah jika kandungan lain dikeluarkan sebelum atau selepasnya.

Penyelesaian

Isu timbul kerana penyemak imbas menganggap sebarang teks atau kandungan di luar data imej sebagai sebahagian daripada imej itu. Untuk menyelesaikan masalah ini, data imej boleh ditukar kepada Base64 dan dibenamkan dalam tag.

<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode($row['imageContent']) . '" />';
echo 'Hello world.';</code>

Penyelesaian ini menukar data imej kepada Base64 dan meletakkannya dalam tag, membenarkan imej dipaparkan dengan betul sambil membenarkan output kandungan tambahan pada halaman.

Nota: Walaupun pendekatan ini berfungsi, ia tidak optimum untuk prestasi dan caching. Adalah disyorkan untuk meneroka penyelesaian alternatif untuk memaparkan imej yang disimpan sebagai BLOB dalam pangkalan data MySQL, seperti menggunakan mekanisme caching atau pelayan imej luaran.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Imej yang Disimpan sebagai BLOB MySQL Bersama Kandungan Lain?. 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