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