<?php
//文件下载
$file_name="images/2.jpg";
//传递的是文件名(包括路径)
downloadFile($file_name);
function downloadFile($file_name){
//1,打开文件
if(!file_exists($file_name)){
echo "文件不存在";
return;
}
else{
//以只读的方式打开
$fp=fopen($file_name,"r");
//获取下载文件的大小,返回文件大小的字节数
$file_size=filesize($file_name);
//如果我们想对下载的文件大小进行控制,可以设置一个过滤
//文件大小超过了500k
if($file_size>500*1024){
echo "<script language='javascript'>window.alert('文件大小超过了500k')</script>";
return;
}
//返回的文件
header("Content-type:application/octet-stream");
//按照字节大小返回
header("Accept-Ranges:bytes");
//返回文件大小
header("Accept-Length:".$file_size);
//这里客户端弹出对话框,对于的文件名
header("Content-Disposition:attachment;filename=".$file_name);
//向客户端回送数据
//一次读取1024个字节
$buffer=1024;
//为了下载安全,我们可以加上一个文件字节读取计数器
$file_count=0;
//feof — 测试文件指针是否到了文件结束的位置
while (!feof($fp)&&$file_size>$file_count){
$file_data=fread($fp,$buffer);
$file_count+=$buffer;
//把部分数据回送给浏览器
echo $file_data;
}
//关闭文件
fclose($fp);
}
}
?>