Ask a Question related to PHP Development, Design and Development.
-
duerra at yahoo dot com #1
#24627 [Bgs->Opn]: feof always returns false
ID: 24627
User updated by: duerra at yahoo dot com
Reported By: duerra at yahoo dot com
-Status: Bogus
+Status: Open
Bug Type: Filesystem function related
Operating System: XP Pro
PHP Version: 4.3.3RC1
New Comment:
php.net's own manual shows that this should work. I'm not reading the
file, but rather just gathering a count of each line. As I stated,
this has always worked in previous versions of PHP, and is also many
tutorials and books, including "PHP and MySQL Web Development" (as I am
looking at the example right now) have shown an example almost
identical to what I've posted here on how to do such looping and
counting. I believe that the file pointer not moving is exactly the
problem (please correct me if I'm wrong). Is that not a bug, and if
not, what has changed between 4.3.2 and 4.3.3 that I have not noticed??
I see nothing of reference in the change log for 4.3.3
Previous Comments:
------------------------------------------------------------------------
[2003-07-12 18:31:30] duerra at yahoo dot com
This always worked correct in previous versions of PHP. It wasn't
until the move to 4.3.3RC1 (from 4.3.2) that I had this infinite
looping problem.
------------------------------------------------------------------------
[2003-07-12 18:28:42] [email]elmicha@php.net[/email]
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
[url]http://www.php.net/manual/[/url] and the instructions on how to report
a bug at [url]http://bugs.php.net/how-to-report.php[/url]
Yes, b_ulrich is right.
------------------------------------------------------------------------
[2003-07-12 18:21:03] b_ulrich at t-online dot de
Your example works correct:
while(!feof($open))
{
$count++;
}
must be an endless loop because the filepointer never moves.
Maybe you should do an fread($open,1024); inside the while loop. Or
what ever you want to count.
------------------------------------------------------------------------
[2003-07-12 18:07:44] duerra at yahoo dot com
Description:
------------
In PHP 4.3.3RC1, feof (Windows) always returns false in the code
provided below, and goes into an endless loop.
Reproduce code:
---------------
$count = 0;
if ($handle = opendir("./"))
{
while (false !== ($file = readdir($handle)))
{
if(!is_dir($file) AND $file != '.' AND $file !='..' AND $file
!='default' AND (strstr($file, ".php") OR strstr($file, ".htm") OR
strstr($file, ".txt")))
{
if(!$open = fopen($file, "r"))
{
echo "Could Not Open File";
exit;
}
while(!feof($open))
{
$count++;
}
fclose($open);
}
}
}
echo $count;
Expected result:
----------------
123456
(or another number)
Actual result:
--------------
Infinite loop once a file is opened (I cut out the test code that I
used to verify that it's actually a bug in order to stay within the 20
line limit).
------------------------------------------------------------------------
--
Edit this bug report at [url]http://bugs.php.net/?id=24627&edit=1[/url]
duerra at yahoo dot com Guest
-
mail() returns FALSE, no err msg
Sometimes my mail() function returns FALSE, but there is no error message. Error reporting is set to E_ALL. It seems to be a problem of the bcc:... -
#24627 [Bgs]: feof always returns false
ID: 24627 Updated by: sniper@php.net Reported By: duerra at yahoo dot com Status: Bogus Bug Type: ... -
#24627 [Opn->Bgs]: feof always returns false
ID: 24627 Updated by: elmicha@php.net Reported By: duerra at yahoo dot com -Status: Open +Status: ... -
#24627 [Com]: feof always returns false
ID: 24627 Comment by: b_ulrich at t-online dot de Reported By: duerra at yahoo dot com Status: Open Bug Type: ... -
#24627 [NEW]: feof always returns false
From: duerra at yahoo dot com Operating system: XP Pro PHP version: 4.3.3RC1 PHP Bug Type: Filesystem function related Bug...



Reply With Quote

