php生成二维码的几种方式,手机可以扫描 - IDC资讯网_站长学院 - Java PHP Flex Python Ajax CSS 编程 开源 学习 总结 分享
用手机扫描下图:
点击在新窗口中浏览此图片
二维码是二维条形码的一种,可以将网址、文字、照片等信息通过相应的编码算法编译成为一个方块形条码图案,手机用户可以通过摄像头和解码软件将相关信息重新解码并查看内容。PHP可以使用php QR Code类库生成二维码。

二维码的应用范围可以点这里(百度百科)。

1.google开放api

<?php
$urlToEncode = "http://www.idceye.com";
generateQRfromGoogle($urlToEncode);
/**
 * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】
 * @param string $chl 二维码包含的信息,可以是数字、字符、二进制信息、汉字。不能混合数据类型,数据必须经过UTF-8 URL-encoded.如果需要传递的信息超过2K个字节,请使用POST方式
 * @param int $widhtHeight 生成二维码的尺寸设置
 * @param string $EC_level 可选纠错级别,QR码支持四个等级纠错,用来恢复丢失的、读错的、模糊的、数据。
 *                         L-默认:可以识别已损失的7%的数据
 *                         M-可以识别已损失15%的数据
 *                         Q-可以识别已损失25%的数据
 *                         H-可以识别已损失30%的数据
 * @param int $margin 生成的二维码离图片边框的距离
 */

function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    $chl = urlencode($chl);
    echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.$chl.'" alt="QR code" widhtHeight="'.$widhtHeight.'" widhtHeight="'.$widhtHeight.'"/>';
}
?>
 



2.php类库PHP QR Code
PHP QR Code is open source (LGPL) library for generating QR Code,
2-dimensional barcode. Based on libqrencode C library,
provides API for creating QR Code barcode images (PNG, JPEG thanks to GD2).
Implemented purely in PHP, with no external dependencies (except GD2 if needed).

使用用例:

<?php
   include('./phpqrcode/phpqrcode.php');
   // 二维码数据
   $data = 'http://www.idceye.com';
   // 生成的文件名
   $filename = $errorCorrectionLevel.'|'.$matrixPointSize.'.png';
   // 纠错级别:L、M、Q、H
   $errorCorrectionLevel = 'L';  
   // 点的大小:1到10
   $matrixPointSize = 4;  
   QRcode::png($data, $filename, $errorCorrectionLevel, $matrixPointSize, 2);
?>
 


官方给出的用例:

<?php
# include这两个文件之一:
/*
qrlib.php for full version (also you have to provide all library files  
form package plus cache dir)
 
OR phpqrcode.php for merged version (only one file,  
but slower and less accurate code because disabled cache
and quicker masking configured)
*/

# 两句话解释:
# 包含qrlib.php的话需要同其它文件放到一起:文件、文件夹。
# phpqrcode.php是合并后版本,只需要包含这个文件,但生成的图片速度慢而且不太准确
# 以下给出两种用法:
 
# 创建一个二维码文件
QRcode::png('code data text', 'filename.png');
// creates file
 
# 生成图片到浏览器
QRcode::png('some othertext 1234');
// creates code image and outputs it directly into browser
 

地址:http://phpqrcode.sourceforge.net/
下载:http://sourceforge.net/projects/phpqrcode/

3.libqrencode

地址:http://fukuchi.org/works/qrencode/index.en.html
php支持请参考:http://hirokawa.netflowers.jp/entry/4900/

4.QRcode Perl CGI & PHP scripts
地址:http://www.swetake.com/qr/qr_cgi.html
编程语言 | 评论(0) | 引用(0) | 阅读(61815)