<?php
/**
* 文件下载
* @param string $file_name 文件名
* @param string $file_sub_dir 文件子路径
* @return void
*/
function down_file($file_name,$file_sub_dir){
//1、将文件名转码
$file_name = iconv('utf-8', 'gb2312', $file_name);
//2、拼接文件绝对路径
$file_path = $_SERVER['DOCUMENT_ROOT'].$file_sub_dir.$file_name;
//3、判断文件是否存在
if(!file_exists($file_path)){
echo '文件不存在';
return ;
}
//4、打开文件
$fp = fopen($file_path, 'r');
//5、获取文件大小
$file_size = filesize($file_path);
//6、设置响应头
header('Content-Type: application/octet-stream');
header('Accept-Ranges: bytes');
header('Content-Length: '.$file_size);
header('Content-Disposition: attachment; filename='.$file_name);
//7、返回数据
$buffer = 1024;//定义每次写给客户端的大小,字节为单位
while(!feof($fp)){
$file_data = fread($fp, $buffer);
echo $file_data;
}
//8、关闭文件
fclose($fp);
}
//测试
down_file('01-nginx介绍及编译安装.wmv','/test/file/');
php文件下载
最新推荐文章于 2024-09-22 20:24:31 发布