php 生成二维码图片

时间:2022-11-16 21:29:10

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