Php下载提示已打开,但没有内容正在下载

时间:2012-07-17 14:23:29

标签: php download

我的网站上有一个文件(mp3语音文件)下载功能。当用户尝试下载文件时,对于某些用户来说,它工作正常。对于其他人,它只是打开浏览器下载窗口,它仍然没有下载任何内容。半小时后它显示0%。任何人都可以建议解决方案。

该网站是用PHP开发的。用户来自美国。这是否会因任何防火墙而发生?

下面是下载文件的代码

header("Cache-Control: cache, must-revalidate");
header("Pragma: public");

header('Content-Type: application/force-download');
header('Content-Disposition: attachment; filename="' . $originalFileName . '"');
header('Content-Length: '.$fileSize);

//open the file
$fp = fopen($filePath, 'rb');
//seek to start of missing part
fseek($fp, $seek_start);

//start buffered download
while(!feof($fp))
{
    //reset time limit for big files
    set_time_limit(0);
    print(fread($fp, 1024*8));
    flush();
    ob_flush();
    session_write_close();
}

fclose($fp);

1 个答案:

答案 0 :(得分:-1)

您可以在session_write_close()循环之外写下while

我认为,如果你一次又一次地关闭会话,那么它将不起作用。