首页 > Web开发 > 详细

PHP 使用 header 方式实现文件下载功能

时间:2019-06-19 11:00:32      阅读:117      评论:0      收藏:0      [点我收藏+]

header() 函数向客户端发送原始的 HTTP 报头。

下载文件要用的的请求头:

header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Accept-Length:" . $file_Size);
header("Content-Disposition:attachment;filename=" . $filename);
  • content-type: 文件类型
  • Accept-Ranges: 表示接收数据的类型或者范围,图片属于二进制的东西所以需要使用字节的方式传输
  • Accept-Length: 表示接收的文件大小,php 文件下载需要告诉浏览器下载的文件有多大
  • Content-Disposition: 附件只需要把文件名给过去就可以,这个名称就是下载时显示的文件名称

文件名是中文的话,需要注意转码

$filename = iconv("UTF-8", "GB2312", $filename);

具体实现代码如下:

$file = $_GET['file'];
if(file_exists($file)){
    header("Content-type:application/octet-stream");
    $filename = iconv("UTF-8", "GB2312", basename($file));
    header("Content-Disposition:attachment;filename=" . $filename);
    header("Accept-ranges:bytes");
    header("Accept-length:".filesize($file));
    readfile($file);
} else {
    echo "<script>alert('文件不存在')</script>";
}

PHP 使用 header 方式实现文件下载功能

原文:https://www.cnblogs.com/Cecil_1995/p/11049706.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!