当前位置:编程学习 > php >>

php接收base64数据生成图片代码并保存

function uploadOne($file)
{
    header('Content-type:text/html;charset=utf-8');
    $base64_image_content = trim($file);
    //正则匹配出图片的格式
    if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)) {
        $type = $result[2];//图片后缀
 
        $dateFile = date('Y-m-d', time()) . "/";  //创建目录
        $new_file = UPLOAD_BASE_PATH . $dateFile;
        if (!file_exists($new_file)) {
            //检查是否有该文件夹,如果没有就创建,并给予最高权限
            mkdir($new_file, 0700);
        }
 
        $filename = time() . '_' . uniqid() . ".{$type}"; //文件名
        $new_file = $new_file . $filename;
         
        //写入操作
        if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))) {
            return $dateFile . $filename;  //返回文件名及路径
        } else {
            return false;
        }
    }
}

php接收base64数据生成图片并保存

    public function base64(){
        //接收base64数据
        $image= $_POST['imegse'];
        //设置图片名称
        $imageName = "yizuotu.net_".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) {
            return json(['code'=>0,'message'=>'图片生成失败']);
        }else {
            return json(['code'=>1,'message'=>'图片生成成功']);
        }
}

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,