Dalam pembangunan sebenar, kadangkala kita perlu menukar beberapa aliran binari ke dalam bentuk rentetan, seperti menukar gambar ke dalam bentuk rentetan dan menyimpannya dalam pangkalan data. Dalam PHP, kita boleh menggunakan medan gumpalan untuk menyimpan aliran binari, tetapi kadangkala kami perlu menukar medan gumpalan kepada pengekodan base64 untuk paparan dalam halaman web. Dalam artikel ini, kita akan membincangkan cara menukar medan gumpalan kepada pengekodan base64 dalam PHP.
Pertama, kita perlu membaca data binari medan gumpalan daripada pangkalan data. Kita boleh menggunakan sambungan PDO PHP untuk mengendalikan pangkalan data. Berikut ialah kod contoh mudah:
try { $dbh = new PDO("mysql:host=localhost;dbname=test", $user, $pass); $stmt = $dbh->prepare("SELECT image FROM images WHERE id = ?"); $stmt->bindParam(1, $id); $stmt->execute(); $image = $stmt->fetchColumn(); $dbh = null; } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); }
Dalam kod di atas, kami menggunakan penyata yang disediakan PDO untuk membaca data medan imej dalam rekod dengan id $id daripada pangkalan data. Pembolehubah $imej akan memegang aliran data binari.
Seterusnya, kita perlu menukar aliran data binari kepada pengekodan base64. Fungsi base64_encode() terbina dalam PHP boleh mencapai fungsi ini. Berikut ialah contoh kod:
$base64_image = base64_encode($image);
Tukar aliran data binari $image kepada pengekodan base64 dan simpannya dalam pembolehubah $base64_image.
Akhir sekali, kami boleh menggunakan data imej berkod base64 dalam halaman web. Berikut ialah contoh kod:
<img src="data:image/jpeg;base64,<?php echo $base64_image; ?>" alt="image" />
Kod di atas akan memaparkan imej dalam penyemak imbas. Antaranya, data:image/jpeg;base64, mewakili format pengekodan imej dan data imej berkod base64.
Semasa pembangunan, kita boleh menggunakan kaedah di atas untuk menukar medan gumpalan kepada pengekodan base64 untuk paparan di halaman web. Ini mengelakkan keperluan untuk memuat turun imej dari pelayan setiap kali halaman dibuka. Pada masa yang sama, jalur lebar pelayan dan sumber juga boleh disimpan.
Atas ialah kandungan terperinci Bagaimana untuk menukar blob ke base64 dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!