一、核心代码
在应用公共文件中添加如下代码:
/**
* 功能:生成二维码
* @param string $qrData 手机扫描后要跳转的网址
* @param string $qrLevel 默认纠错比例 分为L、M、Q、H四个等级,H代表最高纠错能力
* @param int $qrSize 二维码图大小,1-10可选,数字越大图片尺寸越大
* @param string $savePath 图片存储路径
* @param string $savePrefix 图片名称前缀
* @return string|boolean
*/
function createQRcode($savePath, $qrData = 'PHP QR Code :)', $qrLevel = 'L', $qrSize = 4, $savePrefix = 'qrcode')
{
if (!isset($savePath)) return '';
//设置生成png图片的路径
$PNG_TEMP_DIR = $savePath;
//检测并创建生成文件夹
if (!file_exists($PNG_TEMP_DIR)) {
mkdir($PNG_TEMP_DIR);
}
$filename = $PNG_TEMP_DIR . 'test.png';
$errorCorrectionLevel = 'L';
if (isset($qrLevel) && in_array($qrLevel, ['L', 'M', 'Q', 'H'])) {
$errorCorrectionLevel = $qrLevel;
}
$matrixPointSize = 4;
if (isset($qrSize)) {
$matrixPointSize = min(max((int)$qrSize, 1), 10);
}
if (isset($qrData)) {
if (trim($qrData) == '') {
die('data cannot be empty!');
}
//生成文件名 文件路径+图片名字前缀+md5(名称)+.png
$filename = $PNG_TEMP_DIR . $savePrefix.'_' . md5($qrData. '|' . $errorCorrectionLevel . '|' . $matrixPointSize) . '.png';
//开始生成
\PHPQRCode\QRcode::png($qrData, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
} else {
//默认生成
\PHPQRCode\QRcode::png('PHP QR Code :)', $filename, $errorCorrectionLevel, $matrixPointSize, 2);
}
if (file_exists($PNG_TEMP_DIR . basename($filename)))
return basename($filename);
else
return FALSE;
}
- 注:忘了是在哪个博客搬过来的代码了,所以这里就没有直达了,勿怪,我记录也是便于自己以后再次用到的时候能很快地找到,毕竟有时候百度一下真的很累
最近回复
-
xxyangyoulin把 评论者之前须有评论通过了审核打开!
-
xxyangyoulin恭喜被广告盯上了。
-
Edwinpan单纯找不到地方记,就丢上来了
-
xxyangyoulin艹,这个你也要写一篇博客!
-
xxyangyoulin还留着Deepin啊,我还以为你卸载装WIndows了
最新发布
- Mybatis Plus 入门MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis-Plus 入门 - 视频教程 -...
- SpringBoot 的配置文件SpringBoot 配置文件类型SpringBoot 配置文件的类型和作用SpringBoot 是基于约定的,所以很多配置都有默认值,如果想使用自己的配置替换默认配置的话,就可以使用 appl...
- Node.js 笔记CommonJS 规范ECMAScrip 标准的缺陷没有模块系统标准库比较少没有标准接口缺乏管理系统CommonJS 对模块的定义在 Node 中,一个 JS 文件就是一个模块。模块定义模块标识...
- MongoDB 学习笔记MongoDB 简介MongoDB 是为快速开发互联网 WEB 应用而设计的数据库系统。MongoDB 的设计目标是极简、灵活、作为 WEB 应用栈的一部分。MongoDB 的数据模型是面向文档...
- mybatis 注解方式获取插入记录的 id/** * 保存用户信息 * @param user 用户对象 * @return 插入成功返回 1,失败返回 0(mysql 会返回影响的行数) */ @...
- 解决 mybatis 插入中文数据变成 ?心情不好,废话不多说,解决方法有二。1、在连接字符串后面加上 useUnicode=true&characterEncoding=UTF-8,但是在 xml 文件中 & 符号需要...
- MyBatis 环境搭建一、导入坐标使用 maven 工程构建项目时,将下面的 dependency 代码置于 pom.xml 文件中:<dependencies> <dependency>...
- 接触 Redis概念redis 是一款高性能的 NoSQL 系列的非关系型数据库。redis 命令操作Redis 教程redis 持久化机制redis 是一个内存数据库,当 redis 服务器重启,数据会丢失,...
- Vue.js 学习笔记(三)路由vue-router 的基本使用定义组件var login = { template: "<h1>登录组件</h1>"};var registe...
- Vue.js 学习笔记(二)自定义指令示例,文本框自动获取焦点自定义全局指令使用 Vue.directive() 定义全局指令。// 注册一个全局自定义指令 `v-focus`,参数一是指令的名称,参数二是一些指令相关的函...
标签云
- Apache 该标签下有2个话题
- Deepin 该标签下有4个话题
- MySQL 该标签下有2个话题
- ThinkPHP 5.0 该标签下有5个话题
- 隐藏 index.php 该标签下有1个话题
- DocumentRoot 该标签下有1个话题
- 修改密码 该标签下有1个话题
- 更新 该标签下有1个话题
- Windows 配置虚拟主机 该标签下有1个话题
- JetBrains 该标签下有2个话题
- 破解 该标签下有3个话题
- Navicat 该标签下有1个话题
- PL/SQL 该标签下有1个话题
- 汉化 该标签下有1个话题
- 中文乱码 该标签下有1个话题
- Githu'b 该标签下有1个话题
- 绑定域名 该标签下有1个话题
- Mac 该标签下有2个话题
- 终端 该标签下有1个话题
- 二维码 该标签下有1个话题
- 文件下载 该标签下有1个话题
- 关联查询 该标签下有1个话题
- vps 该标签下有1个话题
- ss 该标签下有1个话题
- 微信小程序 该标签下有1个话题
- 延迟跳转 该标签下有1个话题
- 手机奴 该标签下有1个话题
- 小程序 该标签下有2个话题
- md5 加密 该标签下有1个话题
- 邮件发送 该标签下有1个话题