Um Base64-Zeichenfolgen, die mit dem JavaScript-Tool „Canvas2Image“ von Nihilogic generiert wurden, mithilfe von PHP in tatsächliche PNG-Dateien auf dem Server zu konvertieren, Sie müssen die folgenden Schritte ausführen:
Extrahieren Sie die Base64-Bilddaten. Trennen Sie den Daten-URI-Header von den tatsächlichen Base64-Daten. Hier ist ein Ausschnitt:
$data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data);
Decodieren Sie die Base64-Daten.Konvertieren Sie die codierten Daten zurück in eine Binärzeichenfolge.
$data = base64_decode($data);
Speichern Sie das Bild in einer Datei.Schreiben Sie die dekodierten Daten in eine PNG-Datei auf dem Server.
file_put_contents('/tmp/image.png', $data);
Alternative einzeilige Methode: Sie können diesen einzeiligen Befehl auch zum Extrahieren, Dekodieren und Speichern verwenden das Bild:
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
Sorgen Sie für eine ordnungsgemäße Fehlerbehandlung:Implementieren Sie Mechanismen um ungültige Daten-URIs, fehlgeschlagene Base64-Dekodierung oder falsche Bildtypen zu erkennen, wie zum Beispiel:
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'); }
Das obige ist der detaillierte Inhalt vonWie speichere ich PNG-Bilder serverseitig aus Base64-Daten-URIs mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!