thinkphp3.2框架集成QRcode生成二维码的方法分析
发布:smiling 来源: PHP粉丝网 添加日期:2022-02-19 09:27:42 浏览: 评论:0
这篇文章主要介绍了thinkphp3.2框架集成QRcode生成二维码的方法,结合实例形式分析了QRcode的下载、扩展以及thinkphp3.2使用QRcode生成二维码的相关操作技巧,需要的朋友可以参考下。
本文实例讲述了thinkphp3.2框架集成QRcode生成二维码的方法。分享给大家供大家参考,具体如下:
一、下载QRcode源代码
https://sourceforge.net/projects/phpqrcode/files/releases/
使用phpqrcode必须开启GD2扩展,phpqrcode提供了一个png()方法,通过该方法,我们可以生成自已需要的二维码。该函数定义如下:
- public static function png(
- $text,
- $outfile = false,
- $level = QR_ECLEVEL_L,
- $size = 3,
- $margin = 4,
- $saveandprint = false
- ) {
- $enc = QRencode::factory($level, $size, $margin);
- return $enc->encodePNG($text, $outfile, $saveandprint=false);
- }
总共六个参数:
参数一:表示你要保存的文本数据。
参数二:输出的二维码图片文件。
参数三:容错率(分别是L、M、Q、H)
参数四:生成图片大小(1-10)
参数五:二维码周围边框空白区域间距值
参数六:是否保存二维码并显示
二、把下载好的压缩包解压,并名为QRcode,并拷贝到ThinkPHP/Library/Vendor下。然后我们在应用程序目录的Common模块下Common/function.php创建一个公共方法,用于生成二维码。
- /**
- * 生成二维码
- * @param type $data 信息数据
- * @param type $size 二维码图大小,1-10可选,数字越大图片尺寸越大
- * @param type $path 图片保存根路径
- * @param type $level 纠错比例,分为L,M,Q,H四个等级,H代表最高纠错能力
- */
- function createQR($data = '', $size = 8, $path = './Qr', $level = 'L') {
- if (emptyempty($data) || emptyempty($size) || emptyempty($path) || emptyempty($level)) {
- return false;
- }
- vendor('QRcode.phpqrcode');
- $size = min(max((int) $size, 1), 10);
- $filePath = $path . '/' . date('Ym');
- if (!file_exists($filePath)) {
- @mkdir($filePath, 0766, true);
- }
- if (!in_array($level, array('L', 'M', 'Q', 'H'))) {
- $level = 'L';
- }
- $fileName = date('YmdHis') . '_' . uniqid() . '.png';
- $file = $filePath . '/' . $fileName;
- QRcode::png($data, $file, $level, $size, 2);
- if (file_exists($file)) {
- return $file;
- } else {
- return false;
- }
- }
Tags: thinkphp3.2生成二维码 QRcode
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)