在我正在开发的网络服务上,用户应该能够在HTML文件中下载他的数据。此文件包含所有内容(包括base64的图像)。
现在要让用户下载,我必须创建该文件并将其保存在我的网络服务器上。之后,我必须使用cronjob删除它,因为我无法弄清楚下载完成的时间。
还有其他方法吗?是否可以将文件下载到我的网络服务器上实际不存在的用户,但是以某种方式临时创建?
感谢您的帮助!
答案 0 :(得分:3)
就WWW而言,没有文件这样的东西。只有HTTP资源。
服务器可能从文件中获取数据,但可能不是。
只需从PHP程序输出文件的数据即可。 (即将其放在<?php
和?>
之外,或使用echo
或任何其他导致PHP输出内容的技术。
您需要确保使用正确的Content-Type
标头,但由于您使用的是HTML,因此text/html
是默认值。
如果您希望提示用户在某处保存下载而不是在浏览器窗口中呈现下载的HTML,则可以添加Content-Disposition
标题。
header("Content-Disposition: attachment; filename='foo.html'");
答案 1 :(得分:1)
<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');
?>