创建文本文件以供动态下载

2022-08-30 10:28:35

更新 #1

下面发布的内容是为了让它输出文件。但是,它所做的是输出字符串数据,然后是表单HTML的其余部分。有没有办法阻止放入文件的内容和刚刚显示给浏览器的内容。

更新 #2

刚刚添加,一切正常。谢谢!exit()

断续器

你好

我一直在环顾四周,看到了一些类似的事情,但还没有完全掌握我需要做些什么来完全完成任务。

目前,我有一个表单,用户可以提供一些详细信息。提交时,它会回发到自身并处理 POST 变量。我有一个预制的HTML Web模板,用于放置信息,该模板工作正常,只需做一str_replace即可。

我现在尝试做的是将其作为下载导出到纯文本文档中的用户。因此,最终结果是用户单击表单上的提交,然后打开一个下载弹出窗口,并将修改后的网页作为.txt文件。

据我所知,我需要使用HTTP标头功能做一些事情。究竟是什么,以实现我想要的,我不确定。我只希望文件可用一次,但我假设它必须存储在最初某个地方供用户下载,然后手动后需要解密?

任何帮助或积分都会很棒!谢谢。


答案 1

无需将其存储在任何地方。只需输出具有适当内容类型的内容即可。

<?php
    header('Content-type: text/plain');
?>Hello, world.

如果您希望触发下载提示,请添加内容处置。

header('Content-Disposition: attachment; filename="default-filename.txt"');

答案 2

使用以下代码动态生成文件。

<? //Generate text file on the fly

   header("Content-type: text/plain");
   header("Content-Disposition: attachment; filename=savethis.txt");

   // do your Db stuff here to get the content into $content
   print "This is some text...\n";
   print $content;
 ?>

推荐