zoukankan      html  css  js  c++  java
  • 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;
        }
    }
    




  • 相关阅读:
    SpringMVC @PathVariable注解
    Spring REST
    SpringMVC @RequestMapping注解详解
    SpringMVC入门示例
    分布式系统中的幂等性
    常见性能优化策略的总结
    算法(Algorithms)第4版 练习 2.2.5
    算法(Algorithms)第4版 练习 2.2.23
    算法(Algorithms)第4版 练习 2.2.11(最终)
    算法(Algorithms)第4版 练习 2.2.11(3)
  • 原文地址:https://www.cnblogs.com/jkko123/p/6294738.html
Copyright © 2011-2022 走看看