-2

我的网站上有一个文件(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);
4

1 回答 1

-1

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

我认为如果您一次又一次地关闭会话,那么它将无法正常工作。

于 2012-07-17T15:01:49.573 回答