码迷,mamicode.com
首页 > Web开发 > 详细

PHP保存Base64图片

时间:2019-10-16 13:04:11      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:写入   导致   扩展   image   code   格式   mat   content   comment   

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

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

而解码就略微麻烦一点,究其原因在于把图片编码成base64字符串后,编码内会加入这些字符 data:image/png;base64,本来是用于base64进行识别的。但是如果直接放到php里用base64_decode函数解码会导致最终保存的图片文件格式损坏,而解决方法就是先去掉这一串字符:
if (preg_match(‘/^(data:\s*image\/(\w+);base64,)/‘, $base_content, $result))
{
  $result[2];//扩展名
  $result[1];//内容之前的信息
}

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

PHP保存Base64图片

标签:写入   导致   扩展   image   code   格式   mat   content   comment   

原文地址:https://www.cnblogs.com/bwteacher/p/11684835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!