Re: Getting line count of a text file
| From: | Wolf | Date: | Wed, 12 Sep 2007 19:53:08 +0000 |
| Subject: | Re: Getting line count of a text file | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-262048@lists.php.net to get a copy of this message | ||
We all know REAL servers are *nix...
:)
And his path is *nix based...
:)
---- Nathan Nobbe <quickshiftin@gmail.com> 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.
>
> ---- "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.
>
> -nathan