thinkphp整合系列之phpqrcode生成二维码

php生成二维码其实挺简单的;当然指的是使用qrcode类库;

因此关于是否要写这篇博客;我是犹豫了再三的;

不过最后还是决定写下吧;如果有童鞋急着用;就可以直接引了;

再个也可以作为即将写的文章微信支付生成的二维码做个铺垫;

老规矩;以bjyadmin项目示例:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin

1:首先将/ThinkPHP/Library/Vendor/下的Phpqrcode文件夹拷贝到自己的项目中;

2:/Application/Common/Common/function.php增加如下函数

/**  * 生成二维码  * @param  string  $url  url连接  * @param  integer $size 尺寸 纯数字  */ function qrcode($url,$size=4){     Vendor('Phpqrcode.phpqrcode');     // 如果没有http 则添加     if (strpos($url, 'http')===false) {         $url='http://'.$url;     }     QRcode::png($url,false,QR_ECLEVEL_L,$size,2,false,0xFFFFFF,0x000000); }

然后直接调用qrcode($url,$size)函数;第一个参数传链接;第二个参数传大小即可;

3:到这里已经可以生成二维码了;如果想对二维码更加个性化定制的话;

那么下面就来讲解下这堆参数的作用;

png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4,  $saveandprint=false, $back_color = 0xFFFFFF, $fore_color = 0x000000)

第一个参数$text;就是上面代码里的URL网址参数;

第二个参数$outfile默认为否;不生成文件;只将二维码图片返回;否则需要给出存放生成二维码图片的路径;

第三个参数$level默认为L;这个参数可传递的值分别是L(QR_ECLEVEL_L,7%)、M(QR_ECLEVEL_M,15%)、Q(QR_ECLEVEL_Q,25%)、H(QR_ECLEVEL_H,30%);这个参数控制二维码容错率;不同的参数表示二维码可被覆盖的区域百分比。利用二维维码的容错率;我们可以将头像放置在生成的二维码图片任何区域;

第四个参数$size;控制生成图片的大小;默认为4;

第五个参数$margin;控制生成二维码的空白区域大小;

第六个参数$saveandprint;保存二维码图片并显示出来;$outfile必须传递图片路径;

第七个参数$back_color;背景颜色;

第八个参数$fore_color;绘制二维码的颜色;

note:第七、第八个参数需要传16进制是色值;并且要把“#”替换为“0x”
举个栗子:
白色:#FFFFFF  =>  0xFFFFFF  
黑色:#000000  =>  0x000000  
 

更多用法;可以直接参考源代码了;http://phpqrcode.sourceforge.net/

白俊遥博客

 本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://baijunyao.com

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

thinkphp整合系列之phpqrcode生成二维码 - HelloWorld