4

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

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

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

这是创建 vcard 并显示二维码的脚本:

$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) . '"/>';

有什么帮助吗?

4

2 回答 2

5

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

删除引号给了我这个似乎有效的二维码:

二维码

于 2012-10-15T11:39:37.000 回答
1

只是改变:

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) . '"/';

这是因为您正在关闭,带有“来自 TAG 的 SRC <img>

于 2017-03-24T18:21:10.447 回答