php将base64编码的图片还原成图片

<?php 
//base64图片转成的字符串
$base64_img = "";
if (strstr($base64_img,",")){
    //以逗号分隔成两部分,第一部分是文件信息,包含后缀名,第二部分是base64转码后的图片字符串
      $base64_img_arr = explode(',',$base64_img);
      //将图片字符串赋值给变量
      $base64_img = $base64_img_arr[1];
      //将文件信息再次分隔再去除;base64 拿到后缀名
      $suffix_arr = explode('/',$base64_img_arr[0]);
      $suffix_name = str_replace(';base64','',$suffix_arr[1]);
}else{
    $tmparr = ['status'=>0,'msg'=>'不是一个base64图片'];
    echo json_encode($tmparr);exit();
}
//生成随机字符串拼接后缀名作为文件名
$img_name = md5(time().rand(0,10)).'.'.$suffix_name;
$path = "./".date("Ymd");
//判断目录是否存在 不存在就创建
if (!is_dir($path)){
     mkdir($path,0777,true);
}
$img_path= $path."/". $img_name; //图片名字
$res = file_put_contents($img_path, base64_decode($base64_img));//返回的是字节数
if ($res) {
    $tmparr=array('data'=>1,"code"=>0,"msg"=>"图片生成成功");
    echo json_encode($tmparr);
}else{
    $tmparr=array('data'=>null,"code"=>1,"msg"=>"图片生成失败");
    echo json_encode($tmparr);
}
Last modification:July 6th, 2019 at 06:03 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

简爱博客