在我正在开发的网络服务上,用户应该能够将他的数据下载到 HTML 文件中。该文件包含所有内容(包括 base64 格式的图像)。
现在要让用户下载这个,我必须创建文件并将其保存在我的网络服务器上。之后,我必须使用 cronjob 将其删除,因为我无法确定下载何时完成。
还有其他方法吗?是否可以将文件下载给我的网络服务器上实际不存在但以某种方式临时创建的文件?
感谢您的帮助!
就万维网而言,没有文件之类的东西。只有 HTTP 资源。
服务器可能会从文件中获取数据,也可能不会。
只需从您的 PHP 程序中输出文件的数据。(即通过将其放在外面<?php
和?>
/或使用echo
或任何其他导致 PHP 输出某些内容的技术)。
您需要确保使用正确的Content-Type
标题,但由于您使用的是 HTML,因此text/html
这是默认设置。
Content-Disposition
如果您希望提示用户将下载的内容保存在某处,而不是在浏览器窗口中呈现下载的 HTML,则可以添加标题。
header("Content-Disposition: attachment; filename='foo.html'");
<?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');
?>
来自: http: //php.net/manual/en/function.header.php