博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
thinkphp整合系列之phpqrcode生成二维码
阅读量:6949 次
发布时间:2019-06-27

本文共 1442 字,大约阅读时间需要 4 分钟。

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);}

3:到这里已经可以生成二维码了;如果想对二维码更加个性化定制的话;然后直接调用qrcode($url,$size)函数;第一个参数传链接;第二个参数传大小即可;

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

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

更多用法;可以直接参考源代码了;http://phpqrcode.sourceforge.net/第一个参数$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  

白俊遥博客

 

你可能感兴趣的文章
【下一代核心技术DevOps】:(六)Rancher集中存储及相关应用
查看>>
关于AFNetWorking3.0内存泄漏的问题
查看>>
出差感想
查看>>
简单的一个布局CSS+DIV
查看>>
面试时要懂得说的黄金五条
查看>>
字王4K云字库入驻github
查看>>
UVa10561 Treblecross
查看>>
windbg 调试提示sos与clr不匹配问题
查看>>
剑指offer:数据流中的中位数
查看>>
JS调用命令实现F11全屏
查看>>
a标签href无值,点击刷新页面解决办法
查看>>
Arm开发板+Qt学习之路
查看>>
unknown local index 'index_name' in search request
查看>>
看视频学编程之C#中的类
查看>>
C# DataGridView控件绑定数据后清空数据
查看>>
C++基础知识(一)
查看>>
高抬贵手,拉耳复阳
查看>>
win2003 iis6 iis假死
查看>>
计算机网络知识总结
查看>>
poj 3844 Divisible Subsequences 剩余类,组合计数
查看>>