当前位置: 首页 > news >正文

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);

效果
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/123251.html

相关文章:

  • 【C++初阶】--- vector容器功能模拟实现
  • STM32硬件IIC+DMA驱动OLED显示——释放CPU资源,提升实时性
  • Keras简介
  • AI 赋能 DBA:如何用 DeepSeek 等大模型简化数据库管理工作
  • 【每日随笔】丛林法则 ( 弱肉强食 | 适者生存 | 资源有限稀缺 | 没有道德约束 | 自发性与无序性 | 丛林法则映射 - 资源分配 与 社会分层 )
  • C++23新特性:显式对象形参与显式对象成员函数
  • Unity AssetBundle依赖树可视化分析工具开发指南
  • BeagleBone Black笔记
  • 传感器篇(二)——激光雷达
  • Prompt-to-prompt image editing with cross attention control
  • 网络通讯协议UDP转发TCP工具_UdpToTcpRelay_双向版
  • 蓝桥杯c ++笔记(含算法 贪心+动态规划+dp+进制转化+便利等)
  • 食堂采购系统源码模块化开发详解:管理、订单、入库、对账一体化方案
  • 游戏引擎学习第214天
  • module错误集合
  • SAP Business One系统标准功能之外的不允许负库存控制
  • 使用 react-three-fiber 快速重构 Three.js 场景⚛️
  • 为什么ChatGPT选择SSE而非WebSocket?
  • 【车道线检测(0)】卷首语
  • Go 字符串四种拼接方式的性能对比
  • 从0到1的Python接口自动化学习路线
  • kimi 做关系图
  • 【论文精读与实现】EDC²-RAG:基于动态聚类的文档压缩方法提升检索增强生成RAG性能
  • DeepSeek:重构办公效率的AI新范式
  • PCL 点云随机采样(二)
  • 可发1区的超级创新思路(python 、MATLAB实现):基于SAM+Informer+2DCNN的功率预测模型
  • 数据结构--线性表顺序表示(上)
  • 串讲阶段111
  • tf坐标变换
  • 链路追踪组件学习