PHP 之生成名片二维码与vcard格式
一、vcard格式
BEGIN:VCARD VERSION:3.0 FN:样子 TEL;CELL;VOICE:18333333333 TEL;WORK;VOICE:010-66600000 TEL;WORK;FAX:010-66600001 EMAIL;PREF;INTERNET:1@qq.com URL:http://baidu.com orG:网络工作室 ROLE:技术部 TITLE:CTO ADR;WORK;POSTAL:北四环中路35号;100101 REV:2012-12-27T08:30:02Z END:VCARD
二、示例代码
require_once 'phpqrcode.php'; $truename = "Yang"; $phone = "13544444444"; $tel = "18311111111"; $emailmp = "1@qq.com"; $addressmp = "北四环中路35号"; $career = "技术部"; $company = "网络公司"; //个人主页 $hp = ""; //构建一个 vcard 格式数据 $vcard = "BEGIN:VCARD". "\nVERSION:3.0". "\nFN:$truename". "\nTEL;CELL;VOICE:$phone". "\nTEL;WORK;VOICE:$tel". "\nEMAIL:$emailmp". "\nADR:$addressmp". "\nTITLE:$career". "\nORG:$company". "\nURL:$hp". "\nEND:VCARD"; //二维码信息,用urlencode编码 //$data = urlencode($vcard); $data = urlencode($vcard); $errorCorrectionLevel = 'M';//容错级别 $matrixPointSize = 4;//生成图片大小 //生成二维码图片 QRcode::png($vcard, 'qrcode.png', $errorCorrectionLevel, $matrixPointSize, 2); $logo = false;//准备好的logo图片 $QR = 'qrcode.png';//已经生成的原始二维码图 $QR = imagecreatefromstring(file_get_contents($QR)); if ($logo !== FALSE) { //$QR = imagecreatefromstring(file_get_contents($QR)); $logo = imagecreatefromstring(file_get_contents($logo)); $QR_width = imagesx($QR);//二维码图片宽度 $QR_height = imagesy($QR);//二维码图片高度 $logo_width = imagesx($logo);//logo图片宽度 $logo_height = imagesy($logo);//logo图片高度 $logo_qr_width = $QR_width / 5; $scale = $logo_width/$logo_qr_width; $logo_qr_height = $logo_height/$scale; $from_width = ($QR_width - $logo_qr_width) / 2; //重新组合图片并调整大小 imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width, $logo_qr_height, $logo_width, $logo_height); } //输出图片 Header("Content-type: image/png"); ImagePng($QR);