Unable to browse the site while downloading a file using php

I used this code for downloading files

$file='test.mp3';
$download_rate = 50; //50 kb/s

if(file_exists($file) && is_file($file))
{
    header('Cache-control: private');
    header('Content-Type: application/octet-stream');
    header('Content-Length: '.filesize($file));
    header('Content-Disposition: filename='.$file);

    flush();
    $file = fopen($file, "r");

    while(!feof($file))
    {
        // send the current file part to the browser
        print fread($file, round($download_rate * 1024));
        // flush the content to the browser
        flush();
        // sleep one second
        sleep(1);
    }
    fclose($file);
    }
else {
    echo 'File Not Found';
}

but while downloading the file cannot browse the site till the download completed. this happened with IE and Firefox

Any answers?


Only time I know this happens is when you have sessions which have not been written. I can't see any sessions here so I'm not sure what is causing it. However, most php download file scripts are used to check for logins so I'm guessing this is the case. if you do have sessions, try session_write_close();

链接地址: http://www.djcxy.com/p/45512.html

上一篇: 如何在不允许请求页面的情况下支持IDM两次

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