Tukar Medan Blob MySQL kepada Fail Imej dalam PHP
Dalam PHP, anda boleh menukar data yang disimpan sebagai BLOB (Binary Large Object ) medan dalam pangkalan data MySQL ke dalam fail imej. Ini berguna untuk memaparkan imej pada halaman web atau menyimpannya dalam sistem fail.
Berikut ialah tiga kaedah yang boleh anda gunakan, bergantung pada pustaka imej PHP yang telah anda pasang:
Perpustakaan GD:
$image = imagecreatefromstring($blob); ob_start(); // Capture the output buffer imagejpeg($image, null, 80); $data = ob_get_contents(); ob_end_clean(); echo '<img src="data:image/jpg;base64,' . base64_encode($data) . '" />';
Perpustakaan ImageMagick (iMagick):
$image = new Imagick(); $image->readimageblob($blob); echo '<img src="data:image/png;base64,' . base64_encode($image->getimageblob()) . '" />';
Perpustakaan GraphicsMagick (gMagick):
$image = new Gmagick(); $image->readimageblob($blob); echo '<img src="data:image/png;base64,' . base64_encode($image->getimageblob()) . '" />';
Dalam contoh ini, pernyataan gema menggunakan URI data untuk memaparkan imej sebaris. Sebagai alternatif, anda boleh menggunakan fungsi header() untuk mengeluarkan imej terus ke penyemak imbas:
header('Content-Type: image/jpeg'); echo $data;
Atas ialah kandungan terperinci Bagaimana untuk Menukar Medan MySQL BLOB kepada Fail Imej dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!