php 生成二維碼名片

lszb6371 8年前發布 | 3K 次閱讀 PHP Kindle Oasis

[PHP]代碼    

<?php
/*
* 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:15201280000
    TEL;WORK;VOICE:010-62100000
    TEL;WORK;FAX:010-62100001
    EMAIL;PREF;INTERNET:lzw#lzw.me
    URL:http://lzw.me
    orG:志文工作室
    ROLE:產品部
    TITLE:CTO
    ADR;WORK;POSTAL:北京市朝陽區北四環中路35號;100101
    REV:2012-12-27T08:30:02Z
    END:VCARD

    如果你想更詳細的定制所需要的格式,則需要詳細的了解vcard的格式標準。
*/
$vcard = array(
    'vname' => '用戶名',
    'vtel' => '13700000000',
    'vemail' => 'playby@163.com',
    'vaddress' => '北京市朝陽區',
);

generateQRfromGoogle($vcard);
function generateQRfromGoogle($vcard,$widhtHeight ='150',$EC_level='L',$margin='0')
{
    if($vcard){  
       $chl = "BEGIN:VCARD\nVERSION: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.'"/>';
    }
}
?>
 本文由用戶 lszb6371 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!