Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyimpan Imej PNG Sisi Pelayan dengan Cekap daripada URI Data Base64?
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!