Mengesan Jenis Imej daripada Rentetan Base64 dalam PHP
Seseorang mungkin menghadapi senario di mana akses kepada fail imej asal adalah terhad, hanya meninggalkan base64 -perwakilan rentetan yang dikodkan. Menentukan jenis imej daripada rentetan sedemikian boleh terbukti mencabar. Walaupun fungsi imagecreatefromstring() mencipta sumber imej daripada rentetan yang dinyahkod, ia menyembunyikan maklumat jenis imej asal.
Penyelesaian: Menggunakan FileInfo
FileInfo menawarkan penyelesaian yang berdaya maju kepada masalah ini. Dengan menggunakan kaedah fifo_buffer()nya, seseorang boleh mendapatkan semula jenis MIME imej terus daripada rentetan yang dinyahkod base64. Kaedah ini mengambil dua parameter: pemegang fail terbuka (diperolehi menggunakan finfo_open()) dan data imej mentah.
Kod Contoh:
<code class="php">// Encoded base64 string $encoded_string = "...."; // Decode the string $imgdata = base64_decode($encoded_string); // Open FileInfo handle $f = finfo_open(); // Determine MIME type $mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);</code>
$mime_type pembolehubah kini akan mengandungi jenis MIME imej, seperti "imej/jpeg" atau "imej/png." Maklumat ini kemudiannya boleh digunakan untuk menentukan sambungan fail yang sesuai untuk menyimpan imej.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Jenis Imej dari Rentetan Berkod Base64 dalam PHP Menggunakan FileInfo?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!