$img = 'data:image/png;base64,......';

$img0 = ' data:image/jpeg;base64,....';

$img1 = 'data:image/jpg;base64,.....';

phpbase64图片转换PHP实现base64与图片互相转化 GraphQL

相信大家都创造了这个大略的规律,我们要获取原图片的mime类型,只须要用到substr和strpos2个字符串处理函数就OK.

//查找字符'/'第一次涌现位置

$start = strpos($img,'/');

//查找字符';'第一次涌现位置

$end = strpos($img,';');

//截取字符串的长度

$length = $end - $start -1;

//获取mime类型

$mime = substr($img,$start + 1,$length);

万一有个忘八不传base64头,那就弗成了啊.别急,下面我们逐步办理

考虑到如下的问题,决定封装

传入的base64编码是否有头

base64转图片后输出的图片格式

base64编码转图片后,图片的保存;图片转base64编码后,base64编码的保存(不想吐槽,有些base64编码真的很长很长).这里要涉及到文件的建立mkdir函数(linux下还要涉及文件的权限问题),以及file_get_contents和file_put_contents函数

首先定义根目录以及图片和txt保存的路径

目录构造(linux下要给予base64和image读写权限)

先写个接口吧,把要用到的方法理清楚

接口代码

思路理清,正式开始.实现接口

调用先把base64编码转化成图片再把图片转化成base64

结果如下

打开浏览器输出的结果,查看

顺便吐槽下,淘宝的评价的星base64编码真的长.....一个17K的图片转化base64位编码23K......

嗯,彷佛写的繁芜了

终于知道一位前辈为什么说你最好每周写一篇博客了.写博客真的有助于提高自身啊.嗯,这是头条..还是别说了.第一次玩头条,往后就一周玩一次吧.头条分类都没有这代码这块,我就选个娱乐吧,写个文章便是自我娱乐的过程.