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(一般都会开启).

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微信小程序之生成指定页面的太阳码

    最近的项目中也是需要生成小程序的邀请太阳码.一开始生成的是个二维码.但是小程序的客户扫了之后总不能让人家跳到H5页面.所以也是研究了一下.一路上也是坎坎坷坷.这...

    桑先生
  • 使用git上传项目到Github

    其次需要使用Git这个管理工具.没有的小伙伴可以下载一个.直接傻瓜式安装就可以了.

    桑先生
  • 宝塔忘记密码怎么办

    这俩天阿里云腾讯云也是搞活动,服务器也是很便宜的。因为自己服务器也算是快过期了.所以也是买了一个服务器.

    桑先生
  • 谭安林:大数据在智能外呼系统的应用

    商业是一个价值交换的事情,并不是一个等价交换的事情,我们因为信息不对称,很有可能导致一些效应:赢者通吃。大家买一个什么东西,可能比较关注的是市场知名度比较高的,...

    云加社区技术沙龙
  • TF-IDF与余弦相似性的应用(三):自动摘要

    有时候,很简单的数学方法,就可以完成很复杂的任务。 这个系列的前两部分就是很好的例子。仅仅依靠统计词频,就能找出关键词和相似文章。虽然它们算不上效果最好的方法,...

    ruanyf
  • 如何写出更好的Java单例(Singleton)模式,以及单例模式的攻防源代码

    Jerry Wang
  • 茶馆专用小程序,掌柜们了解一下?

    去茶馆喝喝茶一直是追求生活品质的同仁们比较追捧的,不管是现在还是古代都是如此,而且茶馆的装修多是古色古香居多,但是我们生活习惯演变的非常快,借助移动互联网这班快...

    微盛企微管家
  • CentOS 6安裝Xfce桌面、VNC、Firefox、Flashplayer

    众所周知,linux系统使用SSH工具连接后是黑色的页面,那么今天给大家带来的是centos安装桌面环境。使大家可以像操作windows一样使用桌面环境来进行操...

    CloudZ
  • 干货——详解Java中的关键字

    在平时编码中,我们可能只注意了这些static,final,volatile等关键字的使用,忽略了他们的细节,更深层次的意义。

    Janti
  • 求水仙花数面试题 撸它

    输入: 2 输出: [] 样例解释: 没有2位数的水仙花数。 注意事项 你可以认为n小于8。

    不太灵光的程序员

扫码关注云+社区

领取腾讯云代金券