二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。堆叠式/行排式二维条码形态上是由多行短截的一维条码堆叠而成;矩阵式二维条码以矩阵的形式组成,在矩阵相应元素位置上用“点”表示二进制“1”,用“空”表示二进制“0”,“点”和“空”的排列组成代码。
堆叠式/行排式二维条码,如,Code 16K、Code 49、PDF417等。
矩阵式二维码,最流行莫过于QR CODE。
矩阵式二维码存储的数据量更大;可以包含数字、字符,及中文文本等混合内容;有一定的容错性(在部分损坏以后可以正常读取);空间利用率高等。
代码如下
<?php
$vname = 'test';
$vtel = '13800000000';
generateQRfromGoogle($vname,$vtel);
function generateQRfromGoogle($vname,$vtel,$widhtHeight ='150',$EC_level='L',$margin='0')
{
if($vname&&$vtel){
$chl = "BEGIN:VCARDnVERSION:3.0". //vcard头信息
"nFN:$vname".
"nTEL:$vtel".
"nEND:VCARD"; //vcard尾信息
echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
}
}
?>
php生成网址二维码:
代码如下<?php
$url = "http://www.google.com.hk";
generateQRfromGoogle($url);
function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0')
{
echo '<img src="http://chart.apis.google.com/chart?chs='.$widhtHeight.'x'.$widhtHeight.'&cht=qr&chld='.$EC_level.'|'.$margin.'&chl='.urlencode($chl).'" alt="QR code" widhtHeight="'.$size.'" widhtHeight="'.$size.'"/>';
}
?>
例子
代码如下 <?php如果想实现中间有logo的效果,需要通过另外一个logo小图进行拼接即可。这里只提供一种实现方法,也可以通过QRcode的方式进行生成。
vcode的标准信息可以参看维基百科 。