Hi Richard: On Fri, May 24, 2002 at 02:42:59PM +0100, Meredith-Wilks, Richard wrote:
[NOTE: Read throuhg the whole thing before commenting... --Dan] > set_time_limit(200); > $datafile = fopen ("text.txt", "r"); > while (!feof ($datafile)) { > $array = fgets($datafile, 1000000); fgets() produces a string, but you're saying it's an array. If you want to fill an array, do this: $array[] = fgets($datafile, 1000000); > if (trim($array)) { Trim() on an array??? NAY! > $count = count(explode($Seper, $array)); Your code doesn't show that $Seper has been set to anything. You run count on the array itslef, not the explode of array. OH! Are you trying to take a line that's delimited by a special character and count the number of "fields" in the line? In that case, back up. Use fgetcsv (http://www.php.net/manual/en/function.fgetcsv.php): $array = fgets($datafile, 1000000, $Seper); $count = count($array); Of course, you realize, the way this is set up makes the "echo $count" at the end only show the $count from the last line. To get the total from the whole file, do this $count += count($array); > } // end if $array > } // end while > fclose ($datafile); > echo $count; Also, you mentioned that the file is large. You may need to bump up the memory_limit. Now, if my later observation is correct about what you're trying to do, perhaps this is a simpler way to do what you're trying to do: $array = file('./text.txt'); $content = implode('', $array); echo substr_count($content, $Seper); Yeow! --Dan -- PHP classes that make web design easier SQL Solution | Layout Solution | Form Solution sqlsolution.info | layoutsolution.info | formsolution.info T H E A N A L Y S I S A N D S O L U T I O N S C O M P A N Y 4015 7 Av #4AJ, Brooklyn NY v: 718-854-0335 f: 718-854-0409 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php