[EMAIL PROTECTED] wrote:
> Hi,


> 
> Using the below code to force download works fine on most servers and
> with most
> browsers. However it does "crash" Firefox when I download a specific
> file, IE
> works like beauty. File content starts with:
> 
> #!/sbin/_joor_perl_use Filter::decrypt......
> 
> This is the code to force the download:
> 
> header("Pragma: public");
> header("Expires: 0");
> header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
> header("Content-Type: application/octet-stream");
> header("Content-Disposition: attachment; filename=\"$file\"");
> header("Content-Transfer-Encoding: binary");
> header("Content-Length: $size");
> $file = fopen($completePath, 'r');

// no need to fopen/fclose if you decide to use readfile()...

> 
> while(ob_get_level()) {
>     ob_end_flush();
> }

// this should be:
while(ob_get_level()) ob_end_clean(); // discard all output!

> 
> while(!feof($file)) {
>     echo fread($file, 2048);
> }
> 
> fclose($file);

// and this could probably be better written as:
@readfile($file); // read the whole file directly to the output buffer

> 
> Where can I start? Could it be server config? Or could it have to do
> with flush?

at a guess: yes.

> If I remove the ob_end_flush() it does not crash Firefox.
> 
> Best regards,
> Peter Lauri
> 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to