将图片base64的数据写入文件

Python小叮当 Python小叮当 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

 

正常情况下,一个图片的base64的数据在页面显示如下

<p>添加一个图片</p>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAo......></p>

我们需要提取img 标签的src属性的值。也就是上方代码段的这一段数据data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAo......。

这里面逗号,前面是告诉html这是图片,是一个标识,不是base64真正的数据。而逗号后面就是一个真是的base64图片数据。

分割base64数据

1. 获取base64的数据        

$str = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAo......";
// 1. 获取base64的数据
if( is_int(stripos($str,','))){
	$arr = explore(',',$str);
  $base64Data = $arr[1];
}

2. 解码

$data = base64_decode($image);

3.写入一个指定的文件

// 这里的$path 是一个路径,假设为 D:/static。
// 大致的意思:需要将$data 这个数据写入一个文件,这个文件名:tmp.png ,路径是:D:/static/tmp.png
$bool = file_put_contents("{$path}/tmp.png",$data);

4. 判断是否写入成功

if(!$bool){
  return ['error'=>true,'data'=>'文件写入失败'];
}else{
  return ['error'=>false,'data'=>$imgName];
}

 

...全文
评论
收藏 已收藏
分享
返回顶部