PHP生成二维码

月底了.与之俱来的是花呗的账单和没钱花的恐惧.

刚把手头的工作忙完.也是来总结下吧.这几天涉及到了一个需求.需要生成邀请一个二维码.

二维码嘛.简单.这里我也是直接调用了PHP的类库

PHP QR Code,地址:http://phpqrcode.sourceforge.net/ 

将代码下载.我们用到的只有其中一个文件.

这里用到的是TP框架,直接将它放到extend目录下.改名为Qrcode.php.  这时候需要注意下命名空间的问题.

然后我们需要用到的是这个文件中的png方法.

其中参数$text表示生成二位的的信息文本;

参数$outfile表示是否输出二维码图片 文件,默认否;

参数$level表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%);

参数$size表示生成图片大小,默认是3;

参数$margin表示二维码周围边框空白区域间距值;

参数$saveandprint表示是否保存二维码并 显示。

在我们的控制器中引用这个类 直接调用qrcode的png方法.就可以了.  这里也是直接返回了当前这张二维码的地址.

public function houseQrcode()
    {
        $value = "开心快乐每一天";//二维码内容
        $qrcode = new QRcode();
        ob_clean();
        //判断目录是否存在
        $dir = 'qrcode/';
        if(is_dir($dir))
        {
            $filename =  $dir.uniqid().'.png';
        }
        else
        {
           mkdir($dir);
           $filename =  $dir.uniqid().'.png';
        }
        //$filename =  uniqid().'.png';
        $qrcode::png($value,$filename);
        //exit;
        return 'http://'.$_SERVER['SERVER_NAME'].'/'.$filename;
    }

 

这里最开始调用png方法的时候也是.直接输出的话会在浏览器中乱码.我们如果想直接查看结果的话  将注释中的EXIT注释掉就可以了. 😀

这里需要注意一下几个问题:

1.在引入phpqrcode类时,类里没有写命名空间时,实例化时,需要使用斜杠\.

2.PHP环境必须开启支持GD2(一般都会开启).

 

2
说点什么

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
阿桑心灵博客 Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
心灵博客
游客

有现成的代码可用,真是方便。