php 生成二维码图片


(1)下载类库文件

php类库PHP QR Code,地址:http://phpqrcode.sourceforge.net/


(2)放到项目里

把下载的文件解压后有个phpqrcode.php文件,复制放到项目里,

我的开发框架是ThinkPHP3.2,放到了Vendor目录下。


(3)调用测试

生成二维码主要用到类中的png()方法,

第一种,直接输出二维码图片到浏览器:

$qrcode_content = 'hello qrcode';//二维码的内容
Vendor('phpqrcode');
$cls = new \QRcode();
ob_clean();
$cls::png($qrcode_content);

第二种,生成二维码图片并保存后返回图片链接:

        $saveDir = '要保存的目录地址';
if(!is_dir($saveDir)){      

        mkdir($basedir);
        chmod($basedir,0777);

        }
if(is_dir($saveDir)){
$filename = $saveDir . '/qrcode.png';
$qrcode_content = 'hello qrcode';//二维码的内容
Vendor('phpqrcode');
$cls = new \QRcode();
ob_clean();
$cls::png($qrcode_content,$filename);
echo $filename;
}else{
exit('目录创建失败');
}

总结:

1、两种方式的区别就是调用png()方法时,第二个参数传递图片保存路径时,就可以保存图片。

2、在显示图片时,如果不能显示,就使用ob_clean()方法。

3、在引入phpqrcode类时,类里没有写命名空间时,实例化时,需要使用斜杠\。

4、保存图片时,需要先判断保存的目录是否存在,不存在要创建。

5、mkdir($saveDir,0777)和mkdir($basedir);chmod($basedir,0777);是不一样的,后者的目录有777权限。 


php 生成二维码图片的更多相关文章

  1. JAVA生成二维码图片代码

    首先需要导入 QRCode.jar 包 下载地址看这里   http://pan.baidu.com/s/1o6qRFqM import java.awt.Color;import java.awt. ...

  2. C# 利用QRCode生成二维码图片

    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...

  3. java生成二维码图片

    1.POM文件引入 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core& ...

  4. Node.js在指定的图片模板上生成二维码图片并附带底部文字说明

    在Node.js中,我们可以通过qr-image包直接在后台生成二维码图片,使用方法很简单: var qr = require('qr-image'); exports.createQRImage = ...

  5. 使用python调用zxing库生成二维码图片

    (1)     安装Jpype 用python调用jar包须要安装jpype扩展,在Ubuntu上能够直接使用apt-get安装jpype扩展 $ sudo apt-get install pytho ...

  6. js 生成二维码图片

    1.用纯JavaScript实现的微信二维码图片生成器 QRCode.js是javascript实现二维码(QRCode)制作生成库. QRCode.js有着良好的跨浏览器兼容性(高版本使用HTML5 ...

  7. qrCode生成二维码图片

    QRCode.js 是一个用于生成二维码图片的插件. 1.文件脚本 var QRCode;!function(){function a(a){this.mode=c.MODE_8BIT_BYTE,th ...

  8. 小程序canvas生成二维码图片踩的坑

    1:生成临时图片,保证画布被加载以及渲染(即本身不可以 hidden 或是 上级元素不可以 hidden 或是 wx:if 隐藏等) == > 建议:因为 canvas 的组件层级(z-inde ...

  9. vue2.0生成二维码图片并且下载图片到本地兼容写法

    vue生成二维码图片,这里使用的是qrcode.js 这个插件(亲测写法,兼容没有问题) 第一步,下载插件 需要注意,这里下载的是qrcodejs2 cnpm install --save qrcod ...

随机推荐

  1. 消息队列之JMS和AMQP对比

    https://blog.csdn.net/hpttlook/article/details/23391967 AMQP & JMS对比 初次接触消息队列时,在网上搜索,总是会提到如JMS.A ...

  2. Linux基础学习-网络管理

    Linux系统网络管理NetworkManager 1 启动网络管理服务和开机自启动 在rhel7中网路管理相关命令nmcli,nmtui,nmtui-edit,nm-connection-edito ...

  3. JAVA基础篇—HashMap

    /class Depositor package 银行储户; public class Depositor { private String id; private String name; priv ...

  4. JDK1.8 HashMap$TreeNode.rotateLeft 红黑树左旋

    红黑树介绍 1.节点是红色或黑色. 2.根节点是黑色. 3.每个叶子节点都是黑色的空节点(NIL节点). 4 每个红色节点的两个子节点都是黑色.(从每个叶子到根的所有路径上不能有两个连续的红色节点) ...

  5. ACM 贪心算法总结

    贪心算法的本质: 就是当前状态的最优解,它并不考虑全局. 什么是当前状态的最优解? 成本问题? https://www.cnblogs.com/xuxiaojin/p/9400892.html (po ...

  6. App架构经验总结

    作者:李纪钢,网名 Keegan小钢,博客地址:http://keeganlee.me.目前在广州日报新媒体有限公司,负责移动产品的研发工作. 关于:本文整理自CSDN架构主题月子活动金牌架构师微课堂 ...

  7. HDU 5528 Count a * b 欧拉函数

    题意: 定义函数\(f(n)\)为\(i \cdot j \not\equiv 0 \; (mod \; n)\)的数对\((i,j)\)的个数\((0 \leq i,j \leq n)\) \(g( ...

  8. HDU 1827 强连通 缩点 Summer Holiday

    求出强连通分量,因为强连通中只要有一个人被通知到了,所有人都能被通知到. 缩点以后形成一个DAG,找出那些入度为0的点,累加上它们的权值就是答案.一个点的权值等于SCC中权值最小的那个点. #incl ...

  9. Python动态属性和特性(二)

    内置的property经常用作装饰器,但它其实是一个类.在Python中,函数和类通常可以互换,因为二者都是可调用对象,而且没有实例化的new运算符,所以调用构造方法和调用工厂函数没有区别,只要能返回 ...

  10. JAVA-基础(六) Java.io

    由于IDEA相对于我这种新手来说,对学习JAVA还是比较方便,后记都移步到IDEA中进行基础学习 1.File(文件类) 尽管java.io定义的大多数类是实行流式操作的,File类不是.它直接处理文 ...