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

DDD
Lepaskan: 2024-10-21 06:24:02
asal
708 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan