当前位置: 移动技术网 > IT编程>开发语言>PHP > thinkphp3.2框架集成QRcode生成二维码的方法分析

thinkphp3.2框架集成QRcode生成二维码的方法分析

2020年05月11日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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;
  }
}

ps:这里再为大家推荐两款二维码相关在线工具供大家参考使用:

在线生成二维码工具(加强版)

在线二维码解码识别工具

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网