Ask a Question related to PHP Development, Design and Development.
-
elmicha@php.net #1
#24627 [Opn->Bgs]: feof always returns false
ID: 24627
Updated by: [email]elmicha@php.net[/email]
Reported By: duerra at yahoo dot com
-Status: Open
+Status: Bogus
Bug Type: Filesystem function related
Operating System: XP Pro
PHP Version: 4.3.3RC1
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[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]
elmicha@php.net 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 [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: ... -
#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... -
sniper@php.net #2
#24627 [Opn->Bgs]: feof always returns false
ID: 24627
Updated by: [email]sniper@php.net[/email]
Reported By: duerra at yahoo dot com
-Status: Open
+Status: Bogus
Bug Type: Filesystem function related
Operating System: XP Pro
PHP Version: 4.3.3RC1
New Comment:
There must have been some bug in previous versions,
feof() never moves the file pointer so you end up in endless loop, of
course. (I don't know where in the manual it's said it moves the file
pointer..)
Previous Comments:
------------------------------------------------------------------------
[2003-07-12 22:39:43] duerra at yahoo dot com
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
------------------------------------------------------------------------
[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]
sniper@php.net Guest



Reply With Quote

