每次都在网上转化感觉有点烦,就萌生了自己动手玩一个的念头,先放结果图
放错了,嗯是下面这张
base64与图片相互转化要用到base64_decode和base64_encode函数
首先我们观察网页图片的base64位编码
$img = 'data:image/png;base64,......';
$img0 = ' data:image/jpeg;base64,....';
$img1 = 'data:image/jpg;base64,.....';
相信大家都发现了这个简单的规律,我们要获取原图片的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......
嗯,好像写的复杂了
终于知道一位前辈为什么说你最好每周写一篇博客了.写博客真的有助于提高自身啊.嗯,这是头条..还是别说了.第一次玩头条,以后就一周玩一次吧.头条分类都没有这代码这块,我就选个娱乐吧,写个文章就是自我娱乐的过程.