set_time_limit(0);
$code = intval(trim($_GET['code']));
$file_name = M("Material")->where("id = ".$code)->getField("path");
$file_name = "./Uploads".$file_name;
$fp=fopen($file_name,"r+");//下载文件必须先要将文件打开,写入内存
if(!file_exists($file_name)){//判断文件是否存在
echo "文件不存在";
exit();
}
$file_size=filesize($file_name);//判断文件大小
//返回的文件
Header("Content-type: application/octet-stream");
//按照字节格式返回
Header("Accept-Ranges: bytes");
//返回文件大小
Header("Accept-Length: ".$file_size);
//弹出客户端对话框,对应的文件名
$file_name = $pro_id['name'].".".get_extension($file_name);
Header("Content-Disposition: attachment; filename=".$file_name);
//防止服务器瞬时压力增大,分段读取
$buffer=3072;
while(!feof($fp)){
$file_data=fread($fp,$buffer);
echo $file_data;
}
//$file_data=fread($fp);
//echo $file_data;
//关闭文件
fclose($fp);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。