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 (empty($data) || empty($size) || empty($path) || empty($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;
    }
}

 




 

转载于:https://www.cnblogs.com/jkko123/p/6294738.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值