ThinkpPHP生成二维码

导入依赖

composer require endroid/qr-code    

封装成函数,传入二维码包含的值,存储路径,二维码大小,二维码边距

private function getCode($content, $directory, $size = 300, $margin = 10)
    {
        // 创建二维码对象
        // $content: 二维码内容
        // new Encoding('UTF-8'): 设置编码为UTF-8
        // ErrorCorrectionLevel::Low: 设置错误纠正级别为低
        // $size: 二维码尺寸,默认为300
        // $margin: 二维码边距,默认为10
        $qrCode = new QrCode($content,
            new Encoding('UTF-8'),
            ErrorCorrectionLevel::Low, $size, $margin);

        // 生成二维码图片
        // 创建PngWriter对象用于生成PNG格式的二维码图片
        $writer = new PngWriter();
        // 使用PngWriter对象将二维码对象写入结果
        $result = $writer->write($qrCode);


        // 生成唯一文件名(根据内容和时间戳)
        // $content . '.png': 将二维码内容作为文件名,并添加.png后缀
        $filename = $content . '.png';
        // $directory: 文件保存的目录
        // rtrim($directory, '/') . '/' . $filename: 确保目录路径末尾没有斜杠,并拼接文件名
        $filePath = rtrim($directory, '/') . '/' . $filename;

        // 保存文件
        // 使用结果对象的saveToFile方法将二维码图片保存到指定路径
        $result->saveToFile($filePath);
    }

调用

$directory = implode("/", [
   'storage',
   'ceshi',
]);
// 创建保存目录(如果不存在)
if (!is_dir($directory)) {
    mkdir($directory, 0755, true); // 自动创建多级目录
}
$code=['a','b'];
$this->getCode($code, $directory);

效果
在这里插入图片描述
放的二维码图违规了,就不放了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值