#41280 [Opn->Fbk]: Local file reading distorts echo
| From: | tony2001@php.net | Date: | Fri, 04 May 2007 10:31:44 +0000 |
| Subject: | #41280 [Opn->Fbk]: Local file reading distorts echo | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-112230@lists.php.net to get a copy of this message | ||
ID: 41280
Updated by: tony2001@php.net
Reported By: wimroffel at planet dot nl
-Status: Open
+Status: Feedback
Bug Type: Filesystem function related
Operating System: Windows XP
PHP Version: 5.2.2
New Comment:
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php
for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php
for Win32
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2007-05-04 10:23:21] wimroffel at planet dot nl
Description:
------------
While reading a local file Windows (both XP and ME) many empty reads
are generated (reading from internet works much better). So you need a
"while !feof" loop and cannot trust on a test on the size of $data.
The killer in the attached code is the "echo $data". The problem does
not happen if you collect the whole file in a variable and echo it at
once. So it seems some problem with echo - probably with the data
produced by an empty read.
Sometimes the crash happens after only a few freads. Other times it can
take a few dozen.
The echo problem happens only under Windows XP and not under Windows
ME. I am using Apache 2.2.
Reproduce code:
---------------
/* myfile.txt is a large (about 100k) local file */
$fpi = fopen("myfile.txt", "rb");
while(!feof($fpi)) /* block read the rest */
{ $data = fread($fpi,4096);
echo $data;
}
fclose($fpi);
Expected result:
----------------
a reproduction of the file on screen.
Actual result:
--------------
The screen flickers a few times while a partial result is produced.
Then you get a "Cannot find server" message.
Some times the first display goes right, but the problem happens after
a refresh.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=41280&edit=1