使用phpqrcode类库生成二维码图片

浏览:942 时间:2019-09-08 11:28:14

1.首先去官网下载PHPqrCode库文件,只需要里面的phpqrcode.php文件,下载地址:http://phpqrcode.sourceforge.net  

这里我使用的是CodeIgniter框架,就以CodeIgniter为例子为大家演示:

2.把下载phpqrcode.php文件的重命名为:Qrcode.php,然后放入CodeIgniter框架的libraries文件夹下,它是一个多个类的集合文件,我们需要用到里边的QRcode类(第2963行)的png()方法(第3090行):

public static function png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
{
$enc = QRencode::factory($level, $size, $margin);
return $enc->encodePNG($text, $outfile, $saveandprint=false);
}

png 方法参数说明: 

第1个参数$text:二维码包含的内容,可以是链接、文字、json字符串等等;
第2个参数$outfile:默认为false,不生成文件,只将二维码图片返回输出;否则需要给出存放生成二维码图片的文件名及路径;
第3个参数$level:默认为L,这个参数可传递的值分别是L(QR_ECLEVEL_L,7%)、M(QR_ECLEVEL_M,15%)、Q(QR_ECLEVEL_Q,25%)、H(QR_ECLEVEL_H,30%),这个参数控制二维码容错率,不同的参数表示二维码可被覆盖的区域百分比,也就是被覆盖的区域还能识别;
第4个参数$size:控制生成图片的大小,默认为4;
第5个参数$margin:控制生成二维码的空白区域大小;
第6个参数$saveandprint:保存二维码图片并显示出来,$outfile必须传递图片路径;  

3.ci二维码生成实例代码:

//引入类库
$this->load->library('Qrcode');
$url='http://www.baidu.com';//二维码的跳转的链接,一定要加上http
$src='';//要生成二维码图片的文件名及路径,最好使用绝对路径;
$this->qrcode->png($url, $src, 'H', 6, 2);
//这样就生成二维码图片,生成二维码后的操作,就根据自己的需求添加吧,这里我只演示如何生成二维码图片

其他框架的用法也差不多,都是先引入类库,再调用方法:

//引入phpqrcode类库
require_once 'phpqrcode.php';
$url='http://www.baidu.com';//二维码的跳转的链接,一定要加上http
$src='';//要生成二维码图片的文件名及路径,最好使用绝对路径;
QRcode::png($url,$src , L, 6, 2);


标签: 二维码 php ci