写一个图片上传的插件,因为特殊性就在前台将图片转为base64编码并上传到后台,下面说一说在后台怎么利用php代码将base64编码格式的图片转成正常的图片,并保存的。

PHP保存Base64图片

php代码:

# 飞鸟慕鱼博客 feiniaomy.com
//base64编码的图片信息流,类似 data:image/png;base64,sdfsdfsdfs...
$base_img = '';
//检查一下是否为base64的图片,这一步一定要做个检查
if(strpos($base_img ,'data:image') === false ){
echo '不是合法的base64编码的图片';
die();
}
//提取图片的类型
$fileext = str_replace('data:image/','',strstr($base_img ,';',true));
//检查图片类型的合法性
if(!in_array($fileext , ['jpg','png','gif','bmp'])){
$fileext = 'jpg';
}
//保存图片
#自定义保持图片的路径以及名称,保存的路径 + 名称 + 图片后缀
$filename = date("YmdHis").rand(10000, 99999).'.'.$fileext;
preg_match('/^(data:\s*image\/(\w+);base64,)/', $base_img, $result);
@file_put_contents($filename, base64_decode(str_replace($result[1], '', $base_img)));

以上就是关于php保持base64编码格式图片的方法,如果你还有好的建议,可以在下面评论发表出来!