1.可以使用HTML中的a标签
缺点:a标签能够让浏览器自动下载的内容有限:浏览器是发现如果解析不了才会启用下载,文档图片等会直接打开、a标签下载的文件存储路径会需要通过href属性写出来,这样会暴露服务器存储数据的位置(不安全)
2.PHP下载:读取文件内容,以文件流的形式传递给浏览器:在响应头中告知浏览器不要解析,激活下载框实现下载。
<?php
/*
* PHP5下载方式
*
*/
$file='C:\Users\OK\Desktop\read.txt';
//设定响应头
header('Content-type:text/html;charset=utf-8');
header('Accept-ranges:application/octem-stream');
header('Accept-ranges:bytes');
header('Content-disposition:attachment;filename='.$file);
header('Accept-length:'.filesize($file));
/*
* PHP下载方式
*/
#第一种下载方式
echo file_get_contents($file);
#第二种下载方式:文件比较大(网络不好),可以使用PHP4 的文件操作方式:一次读一点,循环读完
$f=@fopen($file,'r') or die();
while ($row=fread($f,1)){
echo $row;
}
#方案二的第二种方案
$f=@fopen($file,'r') or die();
while(!feof($f)){
echo fread($f,1024);
}
fclose($f);
?>