源代码有一个BUG,导致二维码不能同时保存并输出,大致在3093行,源代码为

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);
}

这里$saveandprint已经被png函数给予默认值了,这里传值时候再给默认值会导致它永远接受的值是false,所以要去掉=false才行.

<?php
include 'phpqrcode.php';

$url = 'http://www.baidu.com/';

$error_level = 'L';
$size = 10;

/*
其中参数$text表示生成二位的的信息文本;参数$outfile表示是否输出二维码图片 文件,默认否;参数$level表示容错率,也就是有被覆盖的区域还能识别,分别是 L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%); 参数$size表示生成图片大小,默认是3;参数$margin表示二维码周围边框空白区域间距值;参数$saveandprint表示是否保存二维码并显示。

png($text, $outfile = false, $level = QR_ECLEVEL_L, $size = 3, $margin = 4, $saveandprint=false)
*/
/**
*phpqrecode输出二维码图片
*@text 就是上面代码里的URL网址参数,
*@outfile 默认为否,不生成文件,只将二维码图片返回,否则需要给出存放生成二维码图片的路径
*@level 默认为L,这个参数可传递的值分别是L(QR_ECLEVEL_L,7%),M(QR_ECLEVEL_M,15%),Q(QR_ECLEVEL_Q,25%),H(QR_ECLEVEL_H,30%)。这个参数控制二维码容错率,不同的参数表示二维码可被覆盖的区域百分比。
*@size 默认为3,控制生成图片的大小
*@margin 默认为4,控制生成二维码的空白区域大小
*@saveandprint 默认为false,保存二维码图片并显示出来,$outfile必须传递图片路径。
*/
QRcode::png($url,'recode.png',$error_level,$size,0,true);
?>

 

posted on 2015-11-03 16:59  沉默的土豆  阅读(846)  评论(0编辑  收藏  举报