«

base64图片数据上传,php接收并保存

时间:2024-4-30 11:05     作者:杨佳乐     分类: PHP


前端使用canvas 生成html页面数据,返回Base64 图片数据 php后台接收并保存

下面直接贴代码

项目框架 thinkphp3.2

pubilc function create_img(){

    //传输 base64图片数据 及 保存的路径
    $res=$this->base64_image_content($_POST['base64'],'data/ts_create');
}

//base64图片转换
function base64_image_content($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, 0700);
        }
        $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 1;
        }
    }else{
        return 2;
    }
}