ID: 13601
Updated by: sander
Reported By: [EMAIL PROTECTED]
Old Status: Feedback
Status: Closed
Bug Type: Apache related
Operating System: Linux (Red Hat 7)
PHP Version: 4.0.6
New Comment:

No feedback. Closing.

Previous Comments:
------------------------------------------------------------------------

[2001-10-23 06:23:12] [EMAIL PROTECTED]

I would guess this has something to do with proxy being 
in between..is there one?

--Jani


------------------------------------------------------------------------

[2001-10-22 03:58:23] [EMAIL PROTECTED]

Yes.

In the script,

$size=filesize($file);

Where $file is the filename and path.

To prove that it's correct, I have printed the value. Also, both NS and IE (when it 
works, ie. not through a proxy), display the correct file size and bytes remaining, 
etc.



------------------------------------------------------------------------

[2001-10-21 01:08:59] [EMAIL PROTECTED]

Is the $size correct for the file?



------------------------------------------------------------------------

[2001-10-08 13:55:47] [EMAIL PROTECTED]

The following code:

$size = filesize($userfile);
$fp=fopen($userfile,"r");

header("Pragma: no-cache");// HTTP/1.0
header("Cache-Control: no-cache, must-revalidate");// HTTP/1.1
header("Content-Type: application/octet-stream");
if(preg_match("/MSIE 5.5/", $HTTP_USER_AGENT))
        header("Content-Disposition: filename=$userfile");  
else
        header("Content-Disposition: attachment; filename=$userfile"); 
header("Content-Length: $size");
header("Content-Transfer-Encoding: binary\n");
fpassthru($fp);

when run under Linux/Apache results in a zero length file on MS IE 5.5 when connecting 
via an ISP or proxy. I have tried various ISPs all with the same result. All is fine 
with Netscape, or with a direct LAN connection.

Also, if the same PHP script is run under Windows NT 4.0 / IIS 5.0 all is well. 

By removing the line: header("Content-Length: $size"); the download is successful, but 
we lose any progress bar so this workaround is far from ideal.



------------------------------------------------------------------------

[2001-10-08 13:52:25] [EMAIL PROTECTED]

The following code:

$size = filesize($file);

header("Pragma: no-cache");// HTTP/1.0
header("Cache-Control: no-cache, must-revalidate");// HTTP/1.1
header("Content-Type: application/octet-stream");
if(preg_match("/MSIE 5.5/", $HTTP_USER_AGENT))
        header("Content-Disposition: filename=$userfile");  
else
        header("Content-Disposition: attachment; filename=$userfile"); 
header("Content-Length: $size");
header("Content-Transfer-Encoding: binary\n");
fpassthru($fp);

when run under Linux/Apache results in a zero length file on MS IE 5.5 when connecting 
via an ISP or proxy. I have tried various ISPs all with the same result. All is fine 
with Netscape, or with a direct LAN connection.

Also, if the same PHP script is run under Windows NT 4.0 / IIS 5.0 all is well. 

By removing the line: header("Content-Length: $size"); the download is successful, but 
we lose any progress bar so this workaround is far from ideal.



------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=13601&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to