阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

手机号码,快捷登录

老司机
查看: 3903|回复: 3

[php] THINKPHP 整合phpqrcode 生成二维码

[复制链接]
  • TA的每日心情
    开心
    2021-8-30 00:00
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2014-11-23 22:22:23 | 显示全部楼层 |阅读模式
    上次发了个调用Google api的生成二维码,如果服务器无法访问网络就无效了。
    下面是整合将phpqrcode整合到TP生成二维码就可以解决这个问题了。其实也很简单,使用方法如下:
    先下载附件解压至ThinkPHP/Extend/Vendor目录,目录不存在自己创建。

    1.             vendor("phpqrcode.phpqrcode");
    2.             $data = 'http://www.baidu.com';
    3.             // 纠错级别:L、M、Q、H
    4.             $level = 'L';
    5.             // 点的大小:1到10,用于手机端4就可以了
    6.             $size = 4;
    7.             // 下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false
    8.             //$path = "images/";
    9.             // 生成的文件名
    10.             //$fileName = $path.$size.'.png';
    11.             QRcode::png($data, false, $level, $size);
    复制代码




    该贴已经同步到 sunwy的微博
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2021-8-30 00:00
  • 签到天数: 35 天

    [LV.5]常住居民I

     楼主| 发表于 2014-11-23 22:28:13 | 显示全部楼层
    本人在做公司的固定资产的时候,想要每一个资产上面加一个二维码。 方便查看资产信息。

    本框 架是用thinkphp 做的。

    参考方法如下:
    http://www.thinkphp.cn/topic/7749.html

    具体我的实施方法:

    1. 在上面的连接上下载文件

    解压后,引入到控制器。

    我把它放到了项目录的 项目/Lib/ORG/解压后的文件夹

    2. 做了一个方法, 你可以放到common.php 中也可以放到你的控制器中

    import("@.ORG.phpqrcode.phpqrcode",'', $ext='.php');

    因为这个类库不是用   xxxx.class.php方式命名,所以如上述引入。

    3. 写个方法,
    1. /**
    2. * 生成二维码
    3. * @param  $sid 记录id
    4. * @param  $data 生成二维码数据
    5. * @param  $picPath 存放二维码文件目录
    6. * @param  $prefix 图片文件前缀
    7. * @param  $logo 添加水印图片
    8. * @author eagle
    9. * @return string 字符串的文件名字
    10. */
    11. function createQRC($sid="",$data="",$picPath="",$prefix="",$logo="Images/logo_ico.png"){
    12.   
    13.          import("@.ORG.phpqrcode.phpqrcode",'', $ext='.php');
    14.         
    15.         $QRcode = new QRcode();

    16.     $data = $data?$data:'二维码生成有误,联系管理员处理!';
    17.    
    18.     // 纠错级别:L、M、Q、H
    19.     $level = 'L';
    20.    
    21.     // 点的大小:1到10,用于手机端4就可以了
    22.     $size = 4;
    23.    
    24.     // 下面注释了把二维码图片保存到本地的代码,如果要保存图片,用$fileName替换第二个参数false
    25.     $path = $picPath?$picPath:PUBLIC_PATH."Uploads/QrcPic/";
    26.   
    27.     // 生成的文件名
    28.     $fileName =$prefix.$sid.'.png';
    29.    
    30.     //判断文件是否存在,存在返回二维码图片名字
    31.     $checkFile = $path.$fileName;
    32.    
    33.     if(file_exists($checkFile)){
    34.             return $fileName;
    35.             exit;
    36.     }
    37.     // 输出图处流
    38.         //QRcode::png($data, false, $level, $size);

    39.         // 生成图片
    40.         $QRCimg= $QRcode->png($data,$path.$fileName,$level,$size);

    41.         return $fileName;
    42.         //显示出来
    43.         //echo "<img src='http://erp/Public/Uploads/QrcPic/".$fileName."' />";
    44.          
    45. }
    复制代码
    4。 上面的代码就是一个完整的例子

    去试一下吧。 不成功回来发贴。
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2018-9-5 16:17
  • 签到天数: 111 天

    [LV.6]常住居民II

    发表于 2014-11-23 23:33:46 | 显示全部楼层
    ...没有多少用户用这个啊!!!!
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    昨天 09:20
  • 签到天数: 2606 天

    [LV.Master]伴坛终老

    发表于 2014-11-24 08:29:20 | 显示全部楼层
    老大,附件在哪里啊?                                                               
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表