Thinkphp使用Composer插件生成二维码并保存到指定路径

embedded/2024/12/22 14:11:27/

composer require endroid/qr-code 

我安装的是 endroid/qr-code": "^4.6

php">//引入
use Endroid\QrCode\Encoding\Encoding;
use Endroid\QrCode\ErrorCorrectionLevel\ErrorCorrectionLevelHigh;
use Endroid\QrCode\Label\Alignment\LabelAlignmentCenter;
use Endroid\QrCode\Label\Font\NotoSans;
use Endroid\QrCode\RoundBlockSizeMode\RoundBlockSizeModeMargin;
use Endroid\QrCode\Writer\PngWriter;public function generateQrCode($text){// 创建QR码对象$result = (new Builder())->writer(new PngWriter())  // 设置二维码的图像格式为PNG->writerOptions([])        // 设置写入器选项(这里为空)->data($text)              // 设置二维码的数据内容->encoding(new Encoding('UTF-8'))  // 设置编码方式为UTF-8->errorCorrectionLevel(new ErrorCorrectionLevelHigh())  // 设置错误纠正级别为高->size(300)                // 设置二维码的大小为300像素->margin(10)               // 设置二维码周围的空白边距为10个模块->roundBlockSizeMode(new RoundBlockSizeModeMargin())  // 设置圆角块模式
//            ->logoPath(__DIR__.'/path/to/logo.png')  // 可选:设置二维码中间的logo路径->labelText('')    // 可选:设置标签文本->labelFont(new NotoSans(20))  // 可选:设置标签文本的字体和大小->labelAlignment(new LabelAlignmentCenter())  // 可选:设置标签文本对齐方式->build();  // 构建二维码// 设置保存路径$savePath = 'code/' .$text . '.png';// 确保目录存在$directory = dirname('.' . DIRECTORY_SEPARATOR . $savePath);if (!is_dir($directory)) {mkdir($directory, 0755, true);}// 生成二维码图片并保存file_put_contents('.' . DIRECTORY_SEPARATOR . $savePath, $result->getString());// 返回图片的相对路径return $savePath;}


http://www.ppmy.cn/embedded/125920.html

相关文章

在macOS上进行开发环境配置与应用开发详细的配置指南

在macOS上进行开发环境配置与应用开发,需要遵循一系列步骤来确保你的开发环境既高效又稳定。以下是一个详细的配置指南,涵盖了从安装基本工具到创建应用的整个过程。 1. 安装和更新macOS 首先,确保你的macOS是最新版本。更新系统可以提供更…

机器学习与神经网络:开启物理学的新篇章

近日,2024年诺贝尔物理学奖的颁发引发了全球热议,尤其是首次将这项传统上授予物理学研究者的奖项颁给了机器学习与神经网络领域的科学家。这一举动标志着人工智能技术,尤其是深度学习技术,正在深入影响科学的各个领域,…

【论文阅读】Segment Anything Model for Road Network Graph Extraction

【论文阅读】Segment Anything Model for Road Network Graph Extraction (CVPRW 2024) Paper链接:https://openaccess.thecvf.com/content/CVPR2024W/SG2RL/html/Hetang_Segment_Anything_Model_for_Road_Network_Graph_Extraction_CVPRW_2024_paper.html 文章目录…

stm32通过RS485总线控制云台运动

文章目录 云台控制RS485通信:提升远程监控效率与精度的关键技术一、RS485通信协议概述二、云台控制RS485通信的技术特点三、云台控制RS485通信的实现方式**硬件连接**:**地址设置**:**指令发送**:**执行与反馈**: 云台…

C++设计模式——代理模式

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 引言代理模式的定义代理模式的具体实现 引言 我们经常听到代理服务器「代理服务器是一个中间服务器,能够接收客户端的请求,并代表客户端向服务器发起请求,然后将服…

云原生(四十九) | WordPress源码部署

文章目录 WordPress源码部署 一、WordPress部署步骤 二、创建项目目录 三、上传源码到WordPress 四、配置安全组 五、配置WordPress 六、访问WordPress WordPress源码部署 一、WordPress部署步骤 第一步:创建项目目录 第二步:上传源码到项目目…

RabbitMQ消息接收类Receiver

Receiver 类会使用 RabbitListener 注解,来表示该类是一个消息接收器,用于处理来自 RabbitMQ 队列的消息 Component public class Receiver {RabbitListener(queues RabbitMQConstant.QUEUE_HELLO)public void hello(String hello) {System.out.printl…

Ubuntu安装Hadoop3.4

1、创建Hadoop用户 sudo adduser hadoop 将Hadoop加进sudo用户组,赋予更高权限: sudo usermod -G sudo hadoop 3、安装JDK(略) 查看JDK安装路径:which java 和 ls -al 3、配置SSH免密登录 在Hadoop分布式集群环境中,各个机器之间的通信通常需要使用SSH的方式进行连…