将文件发送到客户端

2022-08-31 00:21:53

我想通过Php在服务器中编写一个文本文件,并让客户端下载该文件。

我该怎么做?

实质上,客户端应该能够从服务器下载文件。


答案 1

这是最好的方法,假设您不希望用户看到文件的真实URL。

<?php
  $filename="download.txt";
  header("Content-disposition: attachment;filename=$filename");
  readfile($filename);
?>

此外,您可以使用mod_access保护您的文件。


答案 2

除了已经发布的数据之外,您可能还需要尝试一个标头。

它只是一个关于如何处理它的建议,用户代理可以选择忽略它,如果它知道如何,只需在窗口中显示文件:

<?php

 header('Content-Type: text/plain');         # its a text file
 header('Content-Disposition: attachment');  # hit to trigger external mechanisms instead of inbuilt

有关内容处置标头的详细信息,请参阅 Rfc2183


推荐