Maison >interface Web >js tutoriel >Comment enregistrer des images PNG côté serveur à partir d'URI de données Base64 à l'aide de PHP ?
Pour convertir les chaînes base64 générées par l'outil JavaScript "Canvas2Image" de Nihilogic en fichiers PNG réels sur le serveur à l'aide de PHP, vous devez effectuer les étapes suivantes :
Extraire le données d'image base64. Séparez l'en-tête URI des données des données base64 réelles. Voici un extrait :
$data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data);
Décoder les données base64.Convertir les données codées en chaîne binaire.
$data = base64_decode($data);
Enregistrez l'image dans un fichier. Écrivez les données décodées vers un fichier PNG sur le serveur.
file_put_contents('/tmp/image.png', $data);
Méthode alternative à une seule ligne : Vous pouvez également utiliser cette commande sur une seule ligne pour extraire, décoder et enregistrer l'image :
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
Assurer une gestion appropriée des erreurs : Mettre en œuvre des mécanismes pour détecter les URI de données non valides, les échecs de décodage base64 ou les types d'images incorrects, tels que :
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'); }
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!