当前位置: 首页 > 收藏夹 > PHP保存Base64图片base64_decode的问题 文件打不开的问题 – winyh

PHP保存Base64图片base64_decode的问题 文件打不开的问题 – winyh

发布于:2018-1-16 最后更新: 收藏夹 0条评论 2,590 views
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme

PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码。

编码上,只要将图片流读取到,而后使用base64_encode进行进行编码即可得到。

而解码就略微麻烦一点,究其原因在于把图片编码成base64字符串后,编码内会加入这些字符 data:image/png;base64,本来是用于base64进行识别的。但是如果直接放到php里用base64_decode函数解码会导致最终保存的图片文件格式损坏,而解决方法就是先去掉这一串字符:

1
2
3
$base64_stringexplode(','$base64_string); //截取data:image/png;base64, 这个逗号后的字符
$database64_decode($base64_string[1]);  //对截取后的字符使用base64_decode进行解码
file_put_contents($url$data); //写入文件并保存

原文来自:PHP保存Base64图片base64_decode的问题 文件打不开的问题 - winyh ,最终解释权归原作者所有,如有侵权,请联系QQ:337003006删除。


发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注