Cara Menyimpan Sebelah Pelayan Imej PNG dengan Cekap daripada URI Data Base64
Apabila mencipta imej pada sisi klien menggunakan alat seperti Canvas2Image , selalunya timbul keperluan untuk menukar rentetan base64 yang terhasil kepada fail PNG sebenar pada pelayan. Ini boleh dicapai dengan berkesan menggunakan fungsi base64_decode() PHP.
Mengekstrak dan Menyahkod Data Base64
Untuk mengekstrak data imej daripada rentetan base64, ikut langkah berikut:
$data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data); $data = base64_decode($data);
Kod ini baris demi baris:
Menyimpan PNG Fail
Setelah data diekstrak dan dinyahkod, anda hanya boleh menyimpannya ke pelayan sebagai fail PNG menggunakan file_put_contents():
file_put_contents('/tmp/image.png', $data);
One-Liner Penyelesaian:
Sebagai alternatif, anda boleh menggabungkan pengekstrakan, penyahkodan dan penjimatan ke dalam satu baris ringkas:
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
Pengendalian Ralat:
Untuk memastikan integriti data, pertimbangkan untuk mengesahkan jenis imej dan semak kemungkinan ralat semasa penyahkodan base64:
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { // ... (additional error handling and processing) }
Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Imej PNG Sisi Pelayan dengan Cekap daripada URI Data Base64?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!