> * Thus wrote Scott Miller ([EMAIL PROTECTED]):
> > I have a text file (log file) that I want to be able to read the last 30
or
> > 40 lines of. I've created the code below, but since this file is so
large
> > (currently 8 MB) it won't work. The code works on smaller files, but
not
> > this one. Can someone look at this below and tell me where I went
wrong?
> >
> > ...
> >
> > $fcontents = file($filename);
>
> This will make your script consume lots of memory, and is very
> inefficient.
>
> You'd be better of using the unix tail command:
>
> $fp = popen("/usr/bin/tail -$limit $file", 'r');
> if (! $fp ) {
> echo 'unable to pipe command';
> }
> while (!feof($fp) ) {
> $line = fgets($fp);
> print $line;
> }
>
> Of course if you're simply going to output the results a simple:
>
> system("/usr/bin/tail -$limit $file");
>
> Would do the job nicely.
>
>
> Curt
> --
> First, let me assure you that this is not one of those shady pyramid
schemes
> you've been hearing about. No, sir. Our model is the trapezoid!
>
> --
I've changed my script to the following:
<?php
$file ="/var/log/radius.log";
$fp = popen("/usr/bin/tail -$limit $file", 'r');
if (! $fp ) {
echo 'unable to pipe command';
}
while (!feof($fp) ) {
$line = fgets($fp);
print $line;
}
?>
And now get the following errors:
Warning: Wrong parameter count for fgets() in /var/www/html/logs2.php on
line 10
I get this over and over and over (like it's producing the error once per
line in the log file).
Thanks,
Scott
--
Outgoing mail is certified Virus Free.
Checked by AVG Anti-Virus (http://www.grisoft.com).
Version: 7.0.251 / Virus Database: 263.3.2 - Release Date: 6/15/2004
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php