index.php中有一超连接<a href="download.php?url=c5eca664" >下载</a>,点击这个超连接,会弹出IE下载对话框,也能正常下载。
现在的问题是:我用讯雷试着下载,即使速度限制成20K/s,再在index.php这个页面中点击浏览其他信息或者刷新这一页,速度都很慢。但是你在IE中另外在打开一个index.php页面则很快,点击浏览上面的信息也很快。
不知道是什么原因?是不是php不支持多线程的原因?
现在的问题是:我用讯雷试着下载,即使速度限制成20K/s,再在index.php这个页面中点击浏览其他信息或者刷新这一页,速度都很慢。但是你在IE中另外在打开一个index.php页面则很快,点击浏览上面的信息也很快。
不知道是什么原因?是不是php不支持多线程的原因?
===你是用迅雷下载的,和php是否支持多线程有关系吗?
请大家帮小弟分析一下原因,谢谢!
$filename=$FileDir.$fname;
$filesize = sprintf("%u", filesize($filename));
if (!$filesize){
echo "文件不存在了!\n";
exit;
}
header("Content-type:application/octet-stream");
Header("Content-type:application/x-rar");
header("Content-disposition:attachment;filename=".$fname);
Header("Accept-Ranges: bytes");Header('Content-transfer-encoding: binary'); if($range = getenv('HTTP_RANGE'))
{
$range = explode('=', $range);
$range = $range[1];
header("HTTP/1.1 206 Partial Content");
header("Date: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s", filemtime($filename))." GMT");
header("Accept-Ranges: bytes");
header("Content-Length:".($filesize - $range));
header("Content-Range: bytes ".$range.($filesize-1)."/".$filesize);
header("Connection: close"." ");
}
else
{
header("Content-Length: ".$filesize);
$range=0;
}
$fp = @fopen($filename, "rb");
fseek($fp, $range);while($bbsf = @fread($fp, 2048))
{
echo $bbsf;}
@fclose($fp);
?>