php 生成二維碼名片
[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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!