模板 自定义view文件夹 中间件 路由和路由函数 自定义多个route文件 session无效 自定义多个公共函数 中间件别名和数据库连接 伪静态 自定义类库extends 以年月日+编号拼接id,且编号每天从0开始 跨域 宝塔面板新建网站403 网页包含过多重定向 缓存 路由绑定子域名 方法参数错误 php导出excel时身份证变成科学技术法 获取路由参数 生成二维码phpqrcode 使用腾讯OCR(扫描) thinkphp6微信支付回调不访问 查询构造器 导入导出excel:安装使用 导入导出Excel:按日期导出 tp6腾讯云短信 thinkphp unserialize(): Error chinese-calendar 将base64保存到本地

将base64保存到本地

首页 > PHP > Thinkphp6 更新日期:2024-11-13 10:01:32

解码base64数据

# 解码base64
function jiexiBase($base64Image) {
    $pos = strpos($base64Image, ',');
    if ($pos!== false) {
        return substr($base64Image, $pos + 1);
    } else {
        // 如果没有找到',',可能数据格式有问题,返回空字符串或者抛出异常
        return '';
    }
}

将解码后的base64数据,保存到本地

/*
 * 将base64图片保存到本地
 * $basePath => "base64图片"
 * $filename => "保存的路径,绝对路径"  如:'D:/abc/bbb'
 * $type => "要保存的图片类型,默认为jpg"
 * */
function saveBase($basePath, $filename, $type = "jpg"){

    $base64Data = jiexiBase($basePath);
    $imageData = base64_decode($base64Data);

    $filename = $filename. uniqid().".".$type;

    if (file_put_contents($filename, $imageData)) {
        return "图像保存成功";
    } else {
        return "图像保存失败";
    }

}

使用

$res = saveBase($base, 'D:/file/');
dd($res);


标题导航