温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在thinkphp3.2中利用QRcode生成一个二维码

发布时间:2021-04-13 15:50:15 来源:亿速云 阅读:340 作者:Leah 栏目:开发技术

本篇文章为大家展示了怎么在thinkphp3.2中利用QRcode生成一个二维码,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一、下载QRcode源代码

使用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;
  }
}

上述内容就是怎么在thinkphp3.2中利用QRcode生成一个二维码,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI