创build一个文本文件供即时下载

更新#1

下面发布的内容是让它输出文件的地方。 它所做的是输出string数据,然后是HTML格式的其余部分。 有没有什么方法可以阻止放入文件的内容以及刚刚显示给浏览器的内容。

更新#2

刚刚添加exit()和一切正常工作。 谢谢!

EOU

嗨,

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

目前我有一个表格,用户提供一些细节。 在提交时,会将其发回到自身,并处理POSTvariables。 我有一个预制的HTML网页模板的信息被放置到哪里工作正常,做一个str_replace和丹迪。

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

据我所知,我需要做一些使用HTTP头function。 什么,虽然达到我想要的,我不知道。 我只想要文件可用一次,但我认为它必须存储在某个地方初始为用户下载,然后需要手动清理后?

任何帮助或点将是伟大的! 谢谢。

看看这个SO问题接受的解决scheme 。 用您自己的文件名replacebasename($File)并将文件大小($ File)更改为strlen($your_string) 。 (如果string包含多字节字符,则可能需要使用mb_strlen。)

无需存储在任何地方。 只需输出适当的内容types的内容。

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

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

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

使用下面的代码来生成飞行文件..

 <? //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; ?> 
 <?php header('Content-type: text/plain'); header('Content-Disposition: attachment; filename="<name for the created file>"'); /* assign file content to a PHP Variable $content */ echo $content; ?>