[php] Regels tellen.

Pagina: 1
Acties:

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 16-01 10:51
Wat is de meest efficiente manier om het aantal regels van een file te tellen?

Ik deed altijd (heel kort door de bocht pruts-programmeer werk):
PHP:
1
2
3
4
<?
$file = file("file.log");
echo count($file);
?>

Maar dit gaat niet echt lekker met een file van 20 meg, zou dus graag een betere methode willen horen :).

Verwijderd

McVirusS: Wat is de meest efficiente manier om het aantal regels van een file te tellen?

Aangezien een regel (tenminste in mijn definitie) eindigt op een enter zal je het hele bestand moeten inlezen en de enters tellen. En dan: regels = enters + 1

Ik deed altijd (heel kort door de bocht pruts-programmeer werk):
[php]
<?
$file = file("file.log");
echo count($file);
?>

[/php]
Maar dit gaat niet echt lekker met een file van 20 meg, zou dus graag een betere methode willen horen :).


Probleem is dat je alles opslaat terwijl het niet nodig is (als je alleen wilt tellen). Misschien zoiets?
PHP:
1
2
3
4
5
6
7
8
9
<?
$f = fopen($file, "r");
$line = 1;
while(!feof($f)) {
    fgets($f, filesize($file));
    $line++;
}
fclose ($f);
?>

Zie fgets().