使用PHP创建和下载文件

当用户提交以下表单时,我正在尝试重写并下载.txt文件,但在最后的障碍中遇到问题。

当按下提交按钮时,我正在运行一个包含以下(简化)代码的jQuery函数 – 我已经取出了我实际保存的代码并用一个简单的字符串替换它。 这将设置“隐藏”输入类型,然后提交表单。

 $("#textFile").val('This is the text I will be saving'); document.forms['saveJSON'].submit(); 

提交表单时,将运行以下PHP代码:

  

最高为fclose($ fh); 行代码实际上工作正常; 已更新.txt文件,其中包含所需的新内容和文件下载。 但是,当我打开下载的文件时,它包含.txt文件文本以及网页上的大量内容(index.php)。

例如,文件可能如下所示

“这是我要保存的文字

这是我网站的h1

接下来是我的其他内容“

有谁知道这可能导致什么?

首先,正如Harke所说,你重定向(或链接)到只负责提供下载的脚本,你可以轻松地绕过它

在读取文件之前清理输出缓冲区并在readfile之后退出脚本

 ob_clean(); flush(); readfile($file); exit;