有一种解决方案是:将txt文件改名为浏览器无法识别的文件,比如 .rar,这样的话点击后浏览器因无法识别就只好让用户下载了。
下面我们通过设置header来实现点击下载文件的目的:
$filename = "/path/to/" . $_GET['file'] . ".txt"; header("Content-Type: application/force-download"); header("Content-Disposition: attachment; filename=".basename($filename)); readfile($filename);
(1)首先:设置Content-Type的值为application/force-download。
(2)其次:第二个header函数设置了要下载的文件,注意:这里filename是不包含路径的文件名,所以用basename过滤掉路径名,这个filename的值就是点击下载后将来弹出对话框里面的文件名,如果带路径的话,弹出对话框的文件名就是未知的。
(3)最后就是readfile,将文件流输出到浏览器,这样就实现了txt文件的下载,其他类型的类似。
未经允许不得转载:铁东博客 » PHP使用readfile函数和header函数实现点击时下载txt文件功能