加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP保存Base64图片

发布时间:2020-12-13 21:25:44 所属栏目:PHP教程 来源:网络整理
导读:PHP对Base64的支持非常好,有内置的base64_encode与base64_decode负责图片的Base64编码与解码。 编码上,只要将图片流读取到,而后使用base64_encode进行进行编码即可得到。 而解码就略微麻烦一点,究其原因在于把图片编码成base64字符串后,编码内会加入这

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 ); //写入文件并保存

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读