Thanks for the heads up on fgetc() incrementing by one. I hadn't actually tested that code yet, I was using the original fseek($handle,$pos). strpos would be ideal but it needs to work on a string and not a file - I don't want to load a 100Mb file into memory if I don't have to. Perhaps I should test how quick the fgets() and ftell() method is because at least it loads in one line at a time. Does anybody know any other ways to go about the problem? Many thanks, Steve ""Greg Bowser"" <topnotcher@xxxxxxxxx> wrote in message news:9ed554210804041656m1533cd2dkf9bdeb0116a3d563@xxxxxxxxxxxxxxxxx > fseek($handle, 1, SEEK_CUR); // or fseek($handle, $pos) > $t = fgetc($handle); > > This probably won't help you, but given a quick glance, it looks like > you're > incrementing the file pointer by 2 positions on each iteration of your > while > loop. The fgetc() function returns the character at the current position > and > increments the file pointer by 1. > > I haven't tried this, but perhaps using strpos would be faster? Use strpos > to seek to find the first "\n", then use the offset parameter to seek to > the > second, and so on, until strpos() returns false. > > --GREG > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php