admin管理员组

文章数量:1535042

如果让浏览器访问一个txt文件,会发生什么呢?比如访问localhost/test/test.txt,chrome浏览器会直接把TXT文件的内容

直接显示在浏览器上,而不是下载下来。


但是也不是所有的文件都会被直接读取在浏览器上,像.zip、.doc等文件就会被直接下载,像.jpg,.png,.txt文件

就会被直接读取。有时候,txt等文件比较大的时候,我们不希望浏览器直接读取出来,对服务器压力也比较大。

这时,指定header头信息就可以办到:

		$file = fopen($url, "r");  //打开文件url
		header("Content-Type: application/octet-stream"); //指定mime类型为八进制文件流
		header("Accept-Ranges: bytes");
		header("Accept-Length: ".filesize($url));
		header("Content-Disposition: attachment; filename=$name");  //$name是文件的名字,一般在$url的最后
		echo fread($file,filesize($url));
		fclose($file);


此时$url指定的文件就可以下载而不是直接读取了。

本文标签: 浏览器类型文件PHPTXT