ID:               25781
 Updated by:       [EMAIL PROTECTED]
 Reported By:      imscorpio at hotmail dot com
-Status:           Open
+Status:           Bogus
 Bug Type:         Filesystem function related
 Operating System: Windows 2000 Pro
 PHP Version:      4.3.3
 New Comment:

"$my_position = int;" probably isn't doing what you're 
expecting it to do. It's setting $my_position to the 
string "int", not making it an integer. (Use a var_dump() 
and you'll see what I'm talking about.) 
 
A for loop or a foreach loop would probably be better in 
this case anyway, breaking out of it if necessary when 
strpos() returns false. 
 
J 


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

[2003-10-07 15:04:11] imscorpio at hotmail dot com

a

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

[2003-10-07 15:02:48] imscorpio at hotmail dot com

Description:
------------
If you loop a file line by line and searching with strpos() it doesn't
know if the file has ended, reached EOF. It will contiue untill
crash...

Reproduce code:
---------------
//scritp.php
<?php
        $my_position = int;
        $haystack = $file_line[$my_position];
        $position = strpos ( $haystack, $needle );
        while ($position === false){
                $my_position++;
                $haystack = $file_line[$my_position];
                $position = strpos ( $haystack, $needle );
        }
?>

Expected result:
----------------
Nothing to read from or the $haystack has passed the EOF.

Actual result:
--------------
Fatal error: Maximum execution time of 30 seconds exceeded in
script.php on line 9
Any line within the while()
during 30sec it can go up to 65.000 - 70.000 lines


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


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

Reply via email to