PHP将文件保存到用户计算机

时间:2012-01-09 16:04:11

标签: php save vcf

我有一个脚本,当点击“添加联系人”按钮时,会为员工创建一个vCard。我把这个vCard放在一个变量中,但我不确定下一步该如何处理它。

我认为我的第一步应该是将此文件保存在服务器上?

我想弹出一个框,允许人们下载并保存vCard,所以如果不需要步骤,我只想跳过它。

这里的任何指针都会受到影响。

感谢。

5 个答案:

答案 0 :(得分:7)

如果您希望在有人请求导出URL时弹出“文件保存”对话框,则必须使用

header("Content-type:text/vcard; charset=utf-8");
header("Content-Disposition: attachment; filename=vcardexport.vcf");
echo $vCardData;

所以不,你不必先将它作为文件保存在服务器上。您可以从变量中提供它。请注意,只要为Content-Type指定了正确的MIME Type,就可以将此方法用于任何其他数据。

另见https://en.wikipedia.org/wiki/VCardhttps://www.ietf.org/rfc/rfc2183.txt

答案 1 :(得分:2)

如果您的变量中包含vcard,则可以使用以下代码轻松将其下载到客户端:

<?php

header('Content-type: text/vcard');
header('Content-disposition: attachment;filename=vcard.vcf');
echo $vcard_variable;

?>

答案 2 :(得分:1)

尝试查看content-disposition标头:)

它可以强制在客户端下载文件:)

答案 3 :(得分:1)

您可以从PHP输出vCard,使用响应标头设置正确的内容类型。这应该强制在用户的浏览器上下载。我用谷歌搜索了this example

答案 4 :(得分:0)

如果您在服务器上有该文件,则可以在指向该文件的按钮上添加一个链接

<a href="location of the vcard file"><img src="button.jpg"></a>

或者您正在寻找不同的送货方式?