Untuk menukar rentetan base64 yang dijana oleh alat JavaScript "Canvas2Image" Nihilogic ke dalam fail PNG sebenar pada pelayan menggunakan PHP, anda perlu melakukan perkara berikut langkah:
Ekstrak data imej base64. Asingkan pengepala URI data daripada data base64 sebenar. Berikut ialah coretan:
$data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data);
Nyahkod data base64. Tukar semula data yang dikodkan kepada rentetan binari.
$data = base64_decode($data);
Simpan imej ke fail. Tulis data dinyahkod ke fail PNG pada pelayan.
file_put_contents('/tmp/image.png', $data);
Kaedah satu baris alternatif: Anda juga boleh menggunakan arahan satu baris ini untuk mengekstrak, menyahkod , dan simpan imej:
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
Pastikan ralat yang betul pengendalian: Laksanakan mekanisme untuk mengesan URI data tidak sah, penyahkodan base64 yang gagal atau jenis imej yang salah, seperti:
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { // Valid data URI } else { throw new \Exception('Invalid data URI'); } if ($data === false) { throw new \Exception('Base64 decode failed'); }
Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Bahagian Pelayan Imej PNG daripada URI Data Base64 menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!