PHP生成QR Code二维码

二维码又称二维条码,是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成 计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实 现信息自动处理。关于二维码的具体信息有兴趣的可以百度百科一下,那里解释的比较详细,我就不一一介绍了,接下来我要说的是二维码中的一种QR Code二维码.(概念、应用什么的我就不费笔墨了,这里有详细的介绍,让我们直接切入主题,php怎么生成QR Code二维码)
PHP生成QR Code二维码有很多中方法,这里我们简单的介绍两种。

一、GOOGLE开放API

$urlToEncode=”指间的温馨http://www.songxuemei.com/”;
$this->generateQRfromGoogle($urlToEncode);
function generateQRfromGoogle($url,$widhtHeight =’150′,$EC_level=’L',$margin=’0′){
$chl = urlencode($url);
echo ‘<img src=”http://chart.apis.google.com/chart?chs=’.$widhtHeight.’x’.$widhtHeight.’&amp;cht=qr&amp;chld=’.$EC_level.’|’.$margin.’&amp;chl=’.$chl.’” alt=”QR code” />’;

 

这里有必要做一下详细的解释:
https://chart.googleapis.com/chart? 这是Google Chart API的路径
&cht=qr 这是说图表类型为qr也就是二维码。
&chs=150×150 这是说生成图片尺寸为150×150。
&choe=UTF-8 这是说内容的编码格式为UTF-8,此值默认为UTF-8.其他的编码格式请参考Google API文档。
&chld=L|4 L代表默认纠错水平; 4代表二维码边界空白大小,可自行调节。具体参数请参考Google API文档。
&chl=XXXX 这是QR内容,也就是解码后看到的信息。包含中文时请使用UTF-8编码汉字,否则将出现问题。
这是生成二维码最快的方法,但是毕竟是别人的服务器,稳定性嘛,就不解释了,你懂的。。。

二、用PHP的类库PHP QR CODE

该类库的下载地址http://sourceforge.net/projects/phpqrcode/files/,解压后里面有个index.php,可以打开看看,里面有详细的使用方法,这里我也自己写了个方法,希望对大家有帮助。

require “../phpqrcode/qrlib.php”;
$data = ‘雪的博客http://www.songxuemei.com/’; // 二维码数据
$errorCorrectionLevel = ‘L’; // 纠错级别:L、M、Q、H
$matrixPointSize = 4; // 点的大小:1到10
$filename = ‘E:\images\test.png’;// 生成的文件路径
QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 2); //在$filename处生成一张图片
$image = fread(fopen($filename,r),filesize($filename));
header(“Content-type: image/JPEG”,true);
echo $image; //此处为了显示在页面上

 

下面是我测试的例子

posted @ 2013-12-17 13:22  樰梅  阅读(853)  评论(0编辑  收藏  举报