ID: 13601 Updated by: sniper Reported By: [EMAIL PROTECTED] Old Status: Open Status: Feedback Bug Type: Apache related Operating System: Linux (Red Hat 7) PHP Version: 4.0.6 New Comment:
I would guess this has something to do with proxy being in between..is there one? --Jani Previous Comments: ------------------------------------------------------------------------ [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]