> * 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