Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menyimpan Bahagian Pelayan Imej PNG daripada URI Data Base64 menggunakan PHP?

Bagaimana untuk Menyimpan Bahagian Pelayan Imej PNG daripada URI Data Base64 menggunakan PHP?

Susan Sarandon
Lepaskan: 2024-12-09 16:43:17
asal
528 orang telah melayarinya

How to Save PNG Images Server-Side from Base64 Data URIs using PHP?

Menyimpan Imej PNG Bahagian Pelayan daripada URI Data Base64

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:

  1. 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);
    Salin selepas log masuk
  2. Nyahkod data base64. Tukar semula data yang dikodkan kepada rentetan binari.

    $data = base64_decode($data);
    Salin selepas log masuk
  3. Simpan imej ke fail. Tulis data dinyahkod ke fail PNG pada pelayan.

    file_put_contents('/tmp/image.png', $data);
    Salin selepas log masuk
  4. 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));
    Salin selepas log masuk
  5. 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');
    }
    Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan