Re: Getting line count of a text file

From: Date: Wed, 12 Sep 2007 19:52:12 +0000
Subject: Re: Getting line count of a text file
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-262047@lists.php.net to get a copy of this message
On Sep 12, 2007, at 1:46 PM, Nathan Nobbe wrote:
On 9/12/07, Wolf <lonewolf@nc.rr.com> wrote:
$command        =  escapeshellcmd("cat {$file} | wc -l");
// Run command and capture results $count = exec($command); that would work on *nix, but not windows.
Since I am developing and deploying on *nix, shell commands are fine with me.
---- "Frank J. Schima" <fjs@foraker.com> wrote: Hi all, In PHP 5, I'm counting the number of lines in a text file using the following code:
        $myfile = file ( '/path/to/myfile.txt');
        $count = count ($myfile);
However, sometimes it fails with the following error:
      PHP Fatal error:  Allowed memory size of xxxx bytes exhausted (tried
to allocate 35 bytes) in /path/to/myprogram.php on line 16 Line 16 is the first line above. I'm sure there is a better - more memory efficient - way to do this. Any suggestions? Thanks! Frank Schima Foraker Design <http://www.foraker.com> if you want a cross-platform solution (not that i use windows :)) or you dont want to use exec() or related functions look to the stream functions. they support buffered reading, so theorectically a script could read portions of a file and count lines as it read through the portions.
Sounds a little painful. I'll look into it though.
-nathan
Thanks! Frank Schima Foraker Design <http://www.foraker.com> 303-449-0202

« previous php.general (#262047) next »