【发布时间】:2014-01-29 17:21:07
【问题描述】:
我正在一个网站上开发一个 php Vcard 工具,该工具在本地可以正常工作,但不能在实时服务器上工作。 在本地,我基本上是在获取联系方式并将它们写入服务器上的 .vcf 文件,即 lewis_cains.vcf,它可能如下所示:
BEGIN:VCARD
VERSION:2.1
N:name;Full
FN:Full name
ORG:Company name
TITLE:Job title
END:VCARD
等等。
然后在该站点上,我有一个指向 .vcf 文件的直接链接,并且在本地工作时该链接/下载到我的地址簿中。
但是,我已将其推送到实时服务器上,并且它一直在输出具有上述内容的纯文本文件。 在进行了更多研究后,我稍微修改了一下,并使用 php 标头制作了这种方法来处理它:
public static function load_vcard($team_slug){
$vcard_file = BASE_URL.'vcards/'.$team_slug.'.vcf';
header('Content-Type: text/vcard');
header("Content-Disposition: attachment; filename=\"".$team_slug.".vcf\";");
readfile($vcard_file);
}
现在我处于尝试下载文件的位置,但是当我单击链接时,我收到“找不到可导入的卡片”消息。
有没有人知道为什么这会在本地而不是生活,然后为什么它似乎没有正确读取文件?
非常感谢您的帮助, 刘易斯。
【问题讨论】:
-
你试过检查文件路径是否正确吗?类似于: if(readfile($vcard_file)){ echo 'exists'; }