Maison  >  Article  >  développement back-end  >  Problème avec l'enregistrement php de l'image Base64 base64_decode

Problème avec l'enregistrement php de l'image Base64 base64_decode

黄舟
黄舟original
2017-09-28 09:15:591754parcourir

PHP prend très bien en charge Base64, avec base64_encode et base64_decode intégrés responsables de l'encodage et du décodage Base64 des images.

En termes d'encodage, il suffit de lire le flux d'images puis d'utiliser base64_encode pour l'encoder.

Le décodage est un peu plus gênant. La raison est qu'après avoir codé l'image dans une chaîne base64, ces caractères data:image/png;base64 seront ajoutés à l'encodage, qui est à l'origine utilisé pour la reconnaissance base64. Cependant, si vous le mettez directement dans PHP et utilisez la fonction base64_decode pour le décoder, le format du fichier image final enregistré sera endommagé. La solution est de supprimer d'abord cette chaîne de caractères :


.

$base64_string= explode(',', $base64_string); //截取data:image/png;base64, 这个逗号后的字符
$data= base64_decode($base64_string[1]);  //对截取后的字符使用base64_decode进行解码
file_put_contents($url, $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!

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