php保存前端上传的base64图片到服务器

teaxia
2022-07-21 / 0 评论 / 343 阅读 / 正在检测是否收录...
    // 上传图片
    $base64_url = $_POST['image']; //这里是获取图片的名称,当然也可以自己拼接
    // 图片的名称
    $name = $_POST['name'].date("His",time())."_".rand(1000,9999).'.jpg'; // 注意后面的.jpg,如果需要的话,自己进行一次判断
    //判断是否有逗号 如果有就截取后半部分
    if (strstr($base64_url,",")){
        $base64_url = explode(',',$base64_url);
        $base64_url = $base64_url[1];
    }
    // 解码图片
    $data = base64_decode($base64_url);
    //设置图片保存路径
    // 判断是什么图片
    $type = $_POST['type']==0?'original':'compose';
    $path = "./img/".$type."/".date("Ymd",time());
    //判断目录是否存在 不存在就创建
    if (!is_dir($path)){
        mkdir($path,0755,true); // windows跟linux的系统权限不太一样哦
    }
    //图片路径
    $imageSrc= $path."/". $name;
    //生成文件夹和图片
    $r = file_put_contents($imageSrc, $data);
    if (!$r) {
        $redata['success'] = 1;
        $this->ajaxReturn($redata);  // 图片生成失败,自己处理一下吧
    }else {
        $redata['success'] = 0;
        $redata['imgurl'] = $imageSrc;
        $this->ajaxReturn($redata); //图片生成成功 返回状态或者其他信息
    }
1

评论 (0)

取消