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

php生成二维码其实挺简单的;当然指的是使用qrcode类库;
因此关于是否要写这篇博客;我是犹豫了再三的;
不过最后还是决定写下吧;如果有童鞋急着用;就可以直接引了;
再个也可以作为即将写的文章微信支付生成的二维码做个铺垫;
老规矩;以bjyadmin项目示例:https://github.com/baijunyao/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');
    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/
白俊遥博客

 白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共12条评论
 白俊遥博客

﹎.Nothing‎:请问下订单号怎么生成呢??

2017-06-08 11:41:09 回复

 白俊遥博客

今天早上下雨了:问一下,这个有什么方法能控制生成的二维码在页面处于水平垂直分别居中吗

2017-02-24 10:16:31 回复

 白俊遥博客

吴伟祥二维码你都讲了,你还可以开一篇专门讲分页的!你讲的东西比较通俗易懂!而且拿过来就能用

2017-01-11 16:22:56 回复

 白俊遥博客

吴伟祥:补充一下,在html页面显示二维码就直接把img的url路径填写为显示二维码的路径!  差不多就是这个意思了!我开始只是把二维码显示出来了!然后再网上找了一圈找到这个!新看到的小伙伴少走弯路!

2017-01-11 15:27:02 回复

 白俊遥博客

:tp5 输出一直是乱码content-type=html/txt  一直都改不过来,,不知道是什么原因。

2016-11-28 10:14:08 回复

 白俊遥博客
  • 吴伟祥 回复 :缓冲要去一下!输出乱码还有一种情况就是你的二维码不是单独输出的!要单独写一个方法!你要是跟index方法放到一起必须乱码啊!
  • 2017-01-11 15:28:30 回复
 白俊遥博客

蓝天白云:博主, 要怎么把二维码中间放置一个logo呢- - 

2016-11-17 14:57:30 回复

 白俊遥博客
  • 蓝天白云 回复 蓝天白云:已经解决了~ 
  • 2016-11-17 17:05:15 回复
 白俊遥博客
  • ─━ぃHi,北鼻 回复 蓝天白云:怎么加logo
  • 2017-07-07 15:06:19 回复
 白俊遥博客

:很有用,但是这里只有两种颜色设定,我百度了很久,php真的不能像java那样设置圆点,液体,渐变,混合色的么?

2016-11-10 11:18:43 回复

 白俊遥博客
  • 云淡风晴 回复 :是想要这样的么?http://phpqrcode.sourceforge.net/examples/index.php?example=712
  • 2016-11-10 22:57:51 回复
 白俊遥博客

Tom非常好方便,请问ThinkPHP 5中的路径要怎么存放和调用QRcode呢?指导一下好吗

2016-10-04 22:10:41 回复

 白俊遥博客
  • 云淡风晴 回复 Tom:不好意思;暂时没有整合入thinkphp5;容我有空了写一份thinkphp5的整合系列;
  • 2016-10-09 07:24:25 回复
 白俊遥博客
  • 吴伟祥 回复 云淡风晴:感觉3.2.3挺好的!5现在基本不能用!等稳定了再弄!省的抄碎了心
  • 2017-01-07 15:10:13 回复
 白俊遥博客

∮獨行工匠$:怎么返回图片路径

2016-09-04 14:21:51 回复

 白俊遥博客
  • 云淡风晴 回复 ∮獨行工匠$:直接访问控制器方法即可;这个是生成的图片;没有保存成文件;
  • 2016-09-05 22:17:14 回复
 白俊遥博客
  • 况宇-锋蕴科技 回复 云淡风晴:请教一下 这种生成的二维码 怎么放到页面上去呢?
  • 2016-09-22 14:04:22 回复
 白俊遥博客
  • 1 回复 况宇-锋蕴科技:帮博主回下你:把生成二维码的方法URL放到HTML页面的 img 标签的 src 属性里就行了,和验证码图片一样的。
  • 2016-10-17 15:33:02 回复
 白俊遥博客

:受教了 ,谢谢。移植到我自己的联系项目里试试

2016-08-09 14:11:33 回复

 白俊遥博客

4暮:QRcode' not found

2016-08-04 16:44:25 回复

 白俊遥博客
  • 云淡风晴 回复 4暮:1:首先将/ThinkPHP/Library/Vendor/下的Phpqrcode文件夹拷贝到自己的项目中;
  • 2016-08-04 16:50:27 回复
 白俊遥博客
  • 4暮 回复 云淡风晴:拷贝了。
  • 2016-08-04 16:54:45 回复
 白俊遥博客
  • 云淡风晴 回复 4暮:你下载bjyadmin; http://git.oschina.net/shuaibai123/thinkphp-bjyadmin 看能首页中的那个生成二维码可以不?对照着bjyadmin来改;
  • 2016-08-04 16:57:36 回复
 白俊遥博客

爱喝白开水:感謝.另外有barcode 生成的  thinkphp 的應用嗎 ?

2016-06-17 08:15:24 回复

 白俊遥博客
  • 云淡风晴 回复 爱喝白开水:是想用thinkphp生成條碼嗎?
  • 2016-06-17 10:30:03 回复
 白俊遥博客
  • 阿小 回复 云淡风晴:你好,生成code128条码以pdf输出怎么弄,求大神帮忙
  • 2016-09-22 17:53:42 回复
  • 本站使用自主开发的laravel-bjyblog开源博客程序搭建 © 2014-2017 baijunyao.com 版权所有 ICP证:豫ICP备14009546号-3
  • 联系邮箱:baijunyao@baijunyao.com