Maison >interface Web >js tutoriel >Comment enregistrer efficacement des images PNG côté serveur à partir d'un URI de données Base64 ?
Comment enregistrer efficacement des images PNG côté serveur à partir d'un URI de données Base64
Lors de la création d'images côté client à l'aide d'un outil comme Canvas2Image , il est souvent nécessaire de convertir les chaînes base64 résultantes en fichiers PNG réels sur le serveur. Ceci peut être réalisé efficacement en utilisant la fonction base64_decode() de PHP.
Extraction et décodage des données Base64
Pour extraire les données d'image de la chaîne base64, suivez ces étapes :
$data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data); $data = base64_decode($data);
Ce code ligne par ligne :
Enregistrement du PNG Fichier
Une fois les données extraites et décodées, vous pouvez simplement les enregistrer sur le serveur sous forme de fichier PNG en utilisant file_put_contents() :
file_put_contents('/tmp/image.png', $data);
One-Liner Solution :
Vous pouvez également combiner l'extraction, le décodage et la sauvegarde dans un fichier concis. one-liner :
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
Gestion des erreurs :
Pour garantir l'intégrité des données, pensez à valider le type d'image et à vérifier les erreurs potentielles lors du décodage base64 :
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { // ... (additional error handling and processing) }
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!