创建vCard QR码

时间:2012-10-15 11:12:26

标签: php google-visualization qr-code vcard

我有一个PHP脚本,可以根据网站上输入的详细信息生成名片模板。

我们最近决定将QR Code vCards添加到名片中,以此作为保存联系信息的简便方法。我使用this教程作为起点。

但是,我的QR码不起作用。它一直没有给我任何结果和格式文本。

以下是创建vcard并显示qr代码的脚本:

$vcard = "BEGIN:VCARD\r\nVERSION:3.0\r\n
N:" . $_POST['surname'] . ";" . $_POST['name'] . "\r\n
FN:" . $_POST['name'] . " " . $_POST['surname'] . "\r\n
ORG:Example Organisation\r\n
TITLE:" . $_POST['position'] . " [" . $_POST['qualification'] . "]\r\n
TEL;TYPE=work,voice:" . $_POST['telephone'] . "\r\n
TEL;TYPE=cell,voice:" . $_POST['cellno'] . "\r\n
TEL;TYPE=work,fax:" . $_POST['fax'] . "\r\n
URL;TYPE=work:www.example.com\r\n
EMAIL;TYPE=internet,pref:" . $_POST['email'] . "\r\n
REV:" . date('Ymd') . "T195243Z\r\n
END:VCARD";

echo '<img src="http://chart.apis.google.com/chart?chs=500x500&cht=qr&chld=H&chl="' . urlencode($vcard) . '"/>';

有任何帮助吗?

2 个答案:

答案 0 :(得分:4)

双引号被编码到QR码中,如果你删除它们应该可以工作(并且应该避免因编码任何特殊字符而出错)。

删除引号会给我这个QR码似乎有效:

QR Code

答案 1 :(得分:0)

只需改变:

echo 'img src="http://chart.apis.google.com/chart?chs=500x500&cht=qr&chld=H&chl="' . urlencode($vcard) . '"/';

为:

echo 'img src="http://chart.apis.google.com/chart?chs=500x500&cht=qr&chld=H&chl=' . urlencode($vcard) . '"/';

这是因为你正在关闭&#34;来自TAG的SRC <img>