将图片base64的数据写入文件

sinmu phper 2021-12-09 17:43:54

 

正常情况下,一个图片的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];
}

 

...全文
414 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15

社区成员

发帖
与我相关
我的任务
社区描述
我可以对一件事情坚持下去吗
社区管理员
  • Python小叮当
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

佛系记录php的相关知识

试试用AI创作助手写篇文章吧