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);

?>