PHP文件系统之文件下载

文件下载,需要设置http的请求头信息,目的是告诉浏览器,处理这个文件的方式

$file_name='0fileupload.php';

//设置头信息 header()

header('Content-Type:text/html'); //文件的;类型

header("Content-Disposition:attachment;filename={$file_name}");//文件的处理方式:以附件的形式

header('Content-Length:'.filesize($file_name));  //文件的大小

//将文件内容输出就会下载

readfile($file_name);

获取固定目录下的文件列表并实现下载功能

$dir_path = './';

if (isset($_GET['fname'])) {

    $dir_path = $_GET['fname'];

    $fname = basename($dir_path);

    header('Content-Type:text/html'); //文件的;类型

    header("Content-Disposition:attachment;filename={$fname}");//文件的处理方式:以附件的形式

    header('Content-Length:' . filesize($fname));  //文件的大小

    readfile($dir_path);

}

$dir = @opendir($dir_path);

while ($file_name = @readdir($dir)) {

    if ($file_name == '.' || $file_name == '..') {

        continue;

    }

    $file_path = $dir_path . DIRECTORY_SEPARATOR . $file_name;

    echo "<a href='3filedownload.php?fname=$file_path'>$file_name</a><br>";

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 2,718评论 0 6
  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 1,248评论 0 7
  • 2系列200 OK请求已成功,请求所希望的响应头或数据体将随此响应返回。201 Created请求已经被实现,而且...
    Y像梦一样自由阅读 3,640评论 1 5
  • 20181209,周日,阴雨。 冷啊… 今天去看望妈妈,一早起来一直咋咋呼呼地到晚上七八点。真的累。吃过晚饭就一直...
    小风车_e3ca阅读 109评论 0 0
  • 是的 最近性侵事件的曝光 领英那篇文章对我影响很深 最后一段尤为精彩 摘抄如下: 性侵害本身 是权力和隐性权力对普...
    ytztx阅读 455评论 0 51