二維條碼/二維碼可以分為堆疊式/行排式二維條碼和矩陣式二維條碼。堆疊式/行排式二維條碼形態上是由多行短截的一維條碼堆疊而成;矩陣式二維條碼以矩陣的形式組成,在矩陣相應元素位置上用“點”表示二進位“1”,用“空”表示二進位“0”, “點”和“空”的排列組成代碼。
堆疊式/行排式二維條碼,如,Code 16K、Code 49、PDF417等。
矩陣式二維碼,最流行莫過於QR CODE。
矩陣式二維碼儲存的資料量更大;可以包含數字、字元,及中文文本等混合內容;有一定的容錯性(在部分損壞以後可以正常讀取);空間利用率高等。
| 代碼如下 |
|
| $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 ''; } } ?> |
php產生網址二維碼:
| 代碼如下 |
|
$url = "http://www.google.com.hk"; generateQRfromGoogle($url);function generateQRfromGoogle($chl,$widhtHeight ='150',$EC_level='L',$margin='0') { echo ''; } ?> |
例子
| 代碼如下 |
|
| /** 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' => 'aaaaa@163.com', '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 ''; }}?>
如果想實現中間有logo的效果,需要通過另外一個logo小圖進行拼接即可。這裡只提供一種實現方法,也可以通過QRcode的方式進行產生。
vcode的標準資訊可以參看維基百科 。
註:有些產生的圖片經掃描沒有的資料的原因是編碼導致的,該問題在windows下較常見,由於很多編輯器預設提供的是ANSI編碼,更改成utf8就OK了。
你可能感興趣的文章
- php產生二維碼實現代碼
- php產生二維碼程式碼
- PHP產生帶LOGO的二維碼映像
- 超簡單PHP產生二維碼執行個體
- php利用PHP QR Code產生二維碼(帶logo)
- 利用phpqrcode產生二維碼執行個體代碼
http://www.bkjia.com/PHPjc/738513.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/738513.htmlTechArticle二維條碼/二維碼可以分為堆疊式/行排式二維條碼和矩陣式二維條碼。堆疊式/行排式二維條碼形態上是由多行短截的一維條碼堆疊而成;矩...