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权限。