Méthode PHP pour convertir dataurl en image 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 affichez-les 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 2 :
Si vous souhaitez simplement enregistrez 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 );
Merci d'avoir lu, j'espère que cela pourra aider tout le monde, merci pour votre soutien à ce site !
Pour plus d'articles liés à PHP sur la méthode de conversion de dataurl en image image, veuillez faire attention au site Web PHP chinois !