php怎么把base64数据流文件转成图片文件

下面封装了一个将base64文件转成图片文件的方法

//第一个参数是base64文件内容,第二个参数是保存的图片路径
function base64_to_image($base64_image_content,$path){
    //匹配出图片的格式
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
        $type = $result[2];
        $new_file = $path."/".date('Ymd',time())."/";
        if(!file_exists($new_file)){
            //检查是否有该文件夹,如果没有就创建,并给予最高权限
            mkdir($new_file, 0755,true);
        }
        $new_file = $new_file.time().".{$type}";
        if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
            return '/'.$new_file;
        }else{
            return false;
        }
    }else{
        return false;
    }
}

//调用方式如下:(base64文件太长了,这里我省略了一部分)
echo base64_to_image("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYwAAAC21p19auSq5a0/Zaql==",'static/upload');

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: