程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 利用google api生成二維碼名片例子

利用google api生成二維碼名片例子

編輯:關於PHP編程

二維條碼/二維碼可以分為堆疊式/行排式二維條碼和矩陣式二維條碼。堆疊式/行排式二維條碼形態上是由多行短截的一維條碼堆疊而成;矩陣式二維條碼以矩陣的形式組成,在矩陣相應元素位置上用“點”表示二進制“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 生成二維碼名片
* api Google
* 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 生成的二維碼離圖片邊框的距離
* 二維碼名片的格式---vcard
* 格式參考如下:
 BEGIN:VCARD
 VERSION:3.0
 FN:用戶名
 TEL;CELL;VOICE:0571-00000000
 TEL;WORK;VOICE:0571-00000000
 TEL;WORK;FAX:0571-00000000
 EMAIL;PREF;INTERNET:361way
 URL:http://www.111cn.net
 orG:361way運維之路
 ROLE:研發部
 TITLE:CTO
 ADR;WORK;POSTAL:杭州市西湖區XXX號;310000
 REV:2014-2-26T08:30:02Z
 END:VCARD
 如果你想更詳細的定制所需要的格式,則需要詳細的了解vcard的格式標准。
*/
$vcard = array(
 'vname' => '用戶名',
 'vtel' => '13800000000',
 'vemail' => '[email protected]',
 'vaddress' => '杭州市西湖區',
);
generateQRfromGoogle($vcard);
function generateQRfromGoogle($vcard,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    if($vcard){
       $chl = "BEGIN:VCARDnVERSION:3.0". //vcard頭信息
       "nFN:".$vcard['vname'].
       "nTEL:".$vcard['vtel'].
    "nEMAIL:".$vcard['vemail'].
    "nADR:".$vcard['vaddress'].
       "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.'"/>';
    }
}
?>

如果想實現中間有logo的效果,需要通過另外一個logo小圖進行拼接即可。這裡只提供一種實現方法,也可以通過QRcode的方式進行生成。

vcode的標准信息可以參看維基百科 。

注:有些生成的圖片經掃描沒有的數據的原因是編碼導致的,該問題在windows下較常見,由於很多編輯器默認提供的是ANSI編碼,更改成utf8就OK了。

  你可能感興趣的文章
  • php生成二維碼實現代碼
  • php生成二維碼程序代碼
  • PHP生成帶LOGO的二維碼圖像
  • 超簡單PHP生成二維碼實例
  • php利用PHP QR Code生成二維碼(帶logo)
  • 利用phpqrcode生成二維碼實例代碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved