用PHP实现浏览器点击下载TXT文档的方法详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用PHP实现浏览器点击下载TXT文档的方法详解相关的知识,希望对你有一定的参考价值。

[【注:其他文件想设置成下载文件,和下面介绍的方法一致】]

由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的。当然这个问题的解决办法也可以是将txt文件改名为浏览器不认识的文件(比如rar),这样的话,由于浏览器不能识别rar类型的文件,只能让用户下载了。还有一种办法,就是利用代码通过header设置文档的格式来实现点击下载的目的。

php代码如下:
===========================================================

$filename = ‘/path/‘.$_GET[‘file‘].‘.txt‘; //文件路径
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));【注,测经验basename()不支持中文】
readfile($filename);
===========================================================
简要说明:
第一个header函数设置Content-Type的值为application/force-download;

第二个header函数设置要下载的文件。注意这里的filename是不包含路径的文件名,filename的值将来就是点击下载后弹出对话框里面的文件名,如果带路径的话,弹出对话框的文件名就是未知的;
最后通过readfile函数,将文件流输出到浏览器,这样就实现了txt文件的下载。

[无意中发现,如果在此文件中输出内容,这些内容会被写入到下载文件中]

以上是关于用PHP实现浏览器点击下载TXT文档的方法详解的主要内容,如果未能解决你的问题,请参考以下文章

java 实现下载

解决PHP超大文件下载,断点续传下载的方法详解

js 实现一些跨浏览器的事件方法详解及实例

详解PHP实现定时任务的五种方法

php里怎么做下载文件代码(主要是能够在苹果手机里。)

如何使用IE浏览器下载文档?