Maison  >  Article  >  développement back-end  >  Explication détaillée de la méthode PHP de conversion de dataurl en image image

Explication détaillée de la méthode PHP de conversion de dataurl en image image

墨辰丷
墨辰丷original
2018-06-01 09:30:562219parcourir

Cet article présente principalement les informations pertinentes sur la méthode de conversion de dataurl en image en PHP Voici deux méthodes et méthodes d'implémentation. Les amis dans le besoin peuvent s'y référer

PHP convertissant dataurl en image. Méthode d'image

L'image générée à l'aide de Canvas utilise dataurl. PHP ne peut pas l'enregistrer directement sur l'ordinateur local via la méthode file_put_contents, elle doit donc être transcodée.

L'URL de données de l'image est la suivante

$imgstr = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJ ggg==' ;

Méthode 1 :

Extraire les données nécessaires au stockage des dataurl via des expressions régulières, puis les afficher directement sur la page

if (!preg_match('/data:([^;]*);base64,(.*)/', $imgstr, $matches)) {
  die("error");
}
 
$content = base64_decode($matches[2]);
header('Content-Type: '.$matches[1]);
header('Content-Length: '.strlen($content));
 
echo $content;
die;

méthode deux :

Si vous souhaitez simplement enregistrer l'image localement, vous pouvez utiliser les méthodes substr et strpos

 $imgdata = substr($imgstr,strpos($imgstr,",") + 1);
$decodedData = base64_decode($imgdata);
file_put_contents('11.png',$decodedData );

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

phpPaiement sur site Web informatique de la série Alipay

php Analyse des performances de php-fpm utilisation du journal d'exécution lente du journal lent

php implémente la méthode de soumission de formulaire inter-domaines

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