Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Watak Rawak Muncul Apabila Memaparkan Imej MySQL BLOB dalam PHP dengan Teks Tambahan?

Mengapa Watak Rawak Muncul Apabila Memaparkan Imej MySQL BLOB dalam PHP dengan Teks Tambahan?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-21 06:23:02285semak imbas

Why Do Random Characters Appear When Displaying MySQL BLOB Images in PHP with Additional Text?

Masalah Memaparkan Imej yang Disimpan dalam MySQL BLOB dengan PHP

Apabila cuba memaparkan imej yang disimpan dalam pangkalan data MySQL sebagai BLOB menggunakan yang disediakan Kod PHP, pengguna mungkin menghadapi masalah jika sebarang teks tambahan digemakan sebelum atau selepas imej. Daripada imej yang dipaparkan, aksara rawak akan muncul.

Penjelasan:

Mengikut penyelesaian yang diberikan, tingkah laku ini timbul kerana penyemak imbas menyalahtafsir teks yang digemakan sebelum atau selepas data imej sebagai sebahagian daripada imej itu sendiri. Ini mengakibatkan ralat dan menghalang output yang dimaksudkan.

Penyelesaian:

Untuk memaparkan kedua-dua imej dan teks tambahan dengan betul, tukar data imej ke dalam format Base64 dan benamkan ia dalam teg img HTML:

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

Nota Tambahan:

Walaupun pendekatan ini menyelesaikan isu paparan, adalah penting untuk ambil perhatian bahawa membenamkan imej menggunakan URI data mempunyai kelemahan:

  • Ia tidak boleh dicache, menjadikannya tidak diingini untuk imej yang kerap digunakan.
  • Ia boleh menjadi perlahan, terutamanya pada peranti mudah alih.

Rujuk kepada dokumentasi caniuse untuk mendapatkan maklumat lanjut tentang URI data.

Atas ialah kandungan terperinci Mengapa Watak Rawak Muncul Apabila Memaparkan Imej MySQL BLOB dalam PHP dengan Teks Tambahan?. 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