Heim >Web-Frontend >js-Tutorial >Wie speichere ich PNG-Bilder aus Base64-Daten-URIs mit PHP?

Wie speichere ich PNG-Bilder aus Base64-Daten-URIs mit PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-11-28 11:07:11920Durchsuche

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

PNG-Bilder von Base64-Daten-URIs auf der Serverseite mit PHP speichern

Bei der Arbeit mit JavaScript-Canvas-Zeichnungen kann es vorkommen, dass dies erforderlich ist um die generierten PNG-Bilder zur Speicherung oder Weiterverarbeitung auf dem Server zu speichern. Ein gängiger Ansatz, dies zu erreichen, ist die Verwendung eines Base64-Daten-URI, der das Bild in eine Textzeichenfolge umwandelt. Dieser Artikel führt Sie durch die Schritte zum effektiven Dekodieren dieser Base64-Zeichenfolge und zum Speichern als PNG-Bild mit PHP.

Dekodierung der Base64-Daten

  1. Extrahieren Sie die Bilddaten: Die Base64-Daten werden normalerweise als formatiert „data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE…“. Extrahieren Sie den Datenteil nach dem Komma.
  2. Dekodieren Sie die Daten: Verwenden Sie die Funktion base64_decode, um die Base64-Zeichenfolge zurück in ihre binäre Darstellung umzuwandeln.

Speichern des PNG-Bildes

  1. Verwenden file_put_contents: Um die dekodierten Daten als PNG-Bild auf dem Server zu speichern, verwenden Sie die Funktion file_put_contents. Geben Sie den Dateipfad und die dekodierten Daten als Argumente an.

Beispiel:

$data = 'data:image/png;base64,AAAFBfj42Pj4';

list($type, $data) = explode(';', $data);
list(, $data)      = explode(',', $data);
$data = base64_decode($data);

file_put_contents('/tmp/image.png', $data);

Einzeiler-Version:

$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));

Fehlerprüfung:

Beziehen Sie eine Fehlerprüfung ein, um sicherzustellen, dass die Daten korrekt sind gültig und der Dekodierungsvorgang ist erfolgreich. Verwenden Sie preg_match, um das Datenformat zu überprüfen, und base64_decode, um nach Dekodierungsfehlern zu suchen.

Das obige ist der detaillierte Inhalt vonWie speichere ich PNG-Bilder aus Base64-Daten-URIs mit PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn