步骤
//流的方式发送给浏览器
header("Content-Type: application/octet-stream");
//按照字节的返回给浏览器
header("Accept-Ranges: bytes");
//告诉浏览器文件的大小
header("Accept-Length: ".filesize('文件地址'));
//以附件的形式发送给浏览器(也就是弹出,下载的对话框)
header("Content-Disposition: attachment; filename=文件名称");
//打开文件获取文件句柄
$handle=fopen('文件地址',"r");
//将文件直接读取完
echo fread($handle,filesize('文件地址'));
//一部分一部分的读取
// while(!feof($handle)){
// $content=fread($handle,1024);
// echo $content;
// }
fclose($handle);
具体实现
$file_path = '/home/wwwroot/nikon/app.js';
download($file_path);
function download($file_path) {
//流的方式发送给浏览器
header("Content-Type: application/octet-stream");
//按照字节的返回给浏览器
header("Accept-Ranges: bytes");
//告诉浏览器文件的大小
header("Accept-Length: ".filesize($file_path));
//以附件的形式发送给浏览器(也就是弹出,下载的对话框)
header("Content-Disposition: attachment; filename=".basename($file_path));
//打开文件获取文件句柄
$handle=fopen($file_path,"r");
//将文件直接读取完
//echo fread($handle,filesize($file_path));
// 一部分一部分的读取
while(!feof($handle)){
$content=fread($handle,1024);
echo $content;
}
fclose($handle);
}