前言
- phpqrcode是一个现成的类文件,看懂类就可以很方便的生成二维码文件。
- phpqrcode类文件:点此下载
- 注意php环境必须开启支持GD2拓展库支持,默认是开启的。
分析
- 从上文网址下载下来的是一个压缩包,里面包含很多如演示代码。但我们生成二维码只需要phpqrcode.php就行,不需要任何外部文件。
- phpqrcode.php是包含多各类的集合文件,我们需要用的是QRcode类(第2964行)。
- 这里主要用phpqrcode.php文件QRcode类的png方法。接下来分析png方法。
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);
}- 第1个参数$text:二维码包含的内容,可以是链接、文字、json字符串等等;
- 第2个参数$outfile:默认为false,不生成文件,只将二维码图片返回输出;否则需要给出存放生成二维码图片的文件名及路径;
- 第3个参数$level:默认为L,这个参数控制二维码容错率,不同的参数表示二维码可被覆盖的区域百分比,也就是被覆盖的区域还能识别;二维码容错率即是指二维码图标被遮挡多少后,仍可以被扫描出来的能力。容错率越高,则二维码图片能被遮挡的部分越多。二维码容错率用字母表示,容错能力等级分为:L、M、Q、H四级:L:7%,M:15%,Q:25%,H:30%。
- 第4个参数$size:控制生成图片的大小,默认为4;
- 第5个参数$margin:控制生成二维码的空白区域大小;
- 第6个参数 sa