Enregistrement d'images PNG Base64 du point de vue côté serveur
Les applications Web exploitent généralement des outils JavaScript tels que "Canvas2Image" pour transformer des dessins sur toile en PNG images codées en base64. La tâche suivante consiste à stocker ces chaînes base64 sur le serveur. Cet article explique comment y parvenir en PHP.
Traitement des images PNG base64 avec PHP
Pour traiter efficacement les images PNG base64, les étapes suivantes sont essentielles :
Exemple de code PHP
Voici un extrait de code PHP qui encapsule ce processus :
<?php // Extract and decode the base64 data $data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data); $data = base64_decode($data); // Save the image to the server file_put_contents('/tmp/image.png', $data); ?>
Alternative One-Liner
Pour un alternative concise, vous pouvez utiliser une ligne unique comme celle-ci :
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
Vérification et validation des erreurs
Pour garantir l'intégrité des données, envisagez de mettre en œuvre la vérification et la validation des erreurs. Voici un exemple :
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { $data = substr($data, strpos($data, ',') + 1); $type = strtolower($type[1]); // jpg, png, gif if (!in_array($type, ['jpg', 'jpeg', 'gif', 'png'])) { throw new \Exception('invalid image type'); } $data = str_replace(' ', '+', $data); $data = base64_decode($data); if ($data === false) { throw new \Exception('base64_decode failed'); } } else { throw new \Exception('did not match data URI with image data'); } file_put_contents("img.{$type}", $data);
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!