使用 php 下载文件时无法浏览网站

Kha*_*led 4 php download while-loop

我用这个代码来下载文件

$file='test.mp3';
$下载率= 50;//50kb/秒

if(file_exists($file) && is_file($file))
{
    header('缓存控制:私有');
    header('内容类型:应用程序/八位字节流');
    header('内容长度:'.filesize($file));
    header('内容处置:文件名='.$file);

    冲洗();
    $file = fopen($file, "r");

    while(!feof($file))
    {
        // 将当前文件部分发送到浏览器
        打印 fread($file, round($download_rate * 1024));
        // 将内容刷新到浏览器
        冲洗();
        // 休眠一秒
        睡眠(1);
    }
    fclose($文件);
    }
别的 {
    echo '找不到文件';
}

但下载文件时无法浏览该网站,直到下载完成。IE 和 Firefox 发生过这种情况

有答案吗?

fro*_*ous 5

我知道这种情况发生的唯一时间是当您有尚未编写的会话时。我在这里看不到任何会话,所以我不确定是什么原因造成的。然而,大多数 php 下载文件脚本都是用来检查登录的,所以我猜情况就是这样。如果您确实有会话,请尝试 session_write_close();

  • 我遇到了这样的问题,这就是我的问题的解决方案。谢谢你! (2认同)