Maison >interface Web >js tutoriel >Comment enregistrer des images PNG à partir d'URI de données Base64 à l'aide de PHP ?

Comment enregistrer des images PNG à partir d'URI de données Base64 à l'aide de PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-28 11:07:11898parcourir

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

Enregistrement d'images PNG à partir d'URI de données Base64 côté serveur avec PHP

Lorsque vous travaillez avec des dessins sur toile JavaScript, vous pouvez rencontrer le besoin pour enregistrer les images PNG générées sur le serveur pour le stockage ou un traitement ultérieur. Une approche courante pour y parvenir consiste à utiliser un URI de données base64, qui convertit l'image en chaîne de texte. Cet article vous guidera à travers les étapes pour décoder efficacement cette chaîne base64 et l'enregistrer sous forme d'image PNG à l'aide de PHP.

Décodage des données Base64

  1. Extraire les données de l'image : Les données base64 sont généralement formatées comme "données:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...". Extrayez la partie des données après la virgule.
  2. Décodez les données : Utilisez la fonction base64_decode pour reconvertir la chaîne base64 en sa représentation binaire.

Enregistrement de l'image PNG

  1. Utiliser file_put_contents : Pour stocker les données décodées sous forme d'image PNG sur le serveur, utilisez la fonction file_put_contents. Spécifiez le chemin du fichier et les données décodées comme arguments.

Exemple :

$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);

Version One-Liner :

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

Vérification des erreurs :

Inclure la vérification des erreurs pour garantir les données sont valides et le processus de décodage est réussi. Utilisez preg_match pour vérifier le format des données et base64_decode pour vérifier les erreurs de décodage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn