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?
Haven't read the rest of the thread, and so going by the subject alone,
fgets() finishes when it encounters a newline, so you can use this
wondrous fact to seek to a specific line:
<?php
$fp = fopen('filename', 'r');
$num = 18; // Desired line number
for ($i=0; $i<$num; $i++)
$line = fgets($fp);
echo $line;
?>
It works because fgets() stops when it encounters a newline (\n). So
it's just a case of counting the calls to fgets().
--
Richard Heyes
Employ me:
http://www.phpguru.org/cv
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php