本文实例讲述了PHP实现将base64编码字符串转换成图片。分享给大家供大家参考,具体如下:
步骤:
1. 获取base64文件:
2. 设置生成的图片名字
$imageName = "25220_".date("His",time())."_".rand(1111,9999).'.png';
3. 判断是否有逗号 如果有就截取后半部分
if (strstr($image,",")){
$image = explode(',',$image);
$image = $image[1];
}
4. 设置图片保存路径
$path = "./".date("Ymd",time());
5. 判断目录是否存在 不存在就创建 并赋予777权限
if (!is_dir($path)){ //判断目录是否存在 不存在就创建
mkdir($path,0777,true);
}
6. 拼接路径和图片名称
$imageSrc= $path."/". $imageName;
7. 生成图片 返回的是字节数
$r = file_put_contents($imageSrc, base64_decode($image));
8. 判断图片是否生成成功
if (!$r) {
$tmparr1=array('data'=>null,"code"=>1,"msg"=>"图片生成失败");
echo json_encode($tmparr);
}else{
$tmparr2=array('data'=>1,"code"=>0,"msg"=>"图片生成成功");
echo json_encode($tmparr2);
}
完整代码如下:
$image="data:image/jpg;base64,....."
$imageName = "25220_".date("His",time())."_".rand(1111,9999).'.png';
if (strstr($image,",")){
$image = explode(',',$image);
$image = $image[1];
}
$path = "./".date("Ymd",time());
if (!is_dir($path)){ //判断目录是否存在 不存在就创建
mkdir($path,0777,true);
}
$imageSrc= $path."/". $imageName; //图片名字
$r = file_put_contents($imageSrc, base64_decode($image));//返回的是字节数
if (!$r) {
$tmparr1=array('data'=>null,"code"=>1,"msg"=>"图片生成失败");
echo json_encode($tmparr);
}else{
$tmparr2=array('data'=>1,"code"=>0,"msg"=>"图片生成成功");
echo json_encode($tmparr2);
}
PS:这里再为大家提供几款比较实用的base64在线编码解码工具供大家使用:
BASE64编码解码工具:
http://tools.jb51.net/transcoding/base64
在线图片转换BASE64工具:
http://tools.jb51.net/transcoding/img2base64
Base64在线编码解码 UTF-8版:
http://tools.jb51.net/tools/base64_decode-utf8.php
Base64在线编码解码 gb2312版:
http://tools.jb51.net/tools/base64_decode-gb2312.php
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《php文件操作总结》、《PHP编码与转码操作技巧汇总》、《PHP中json格式数据操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》及《php字符串(string)用法总结》
来源:https://www.jb51.net/article/142437.htm