21.6 Die Zeilen, Absätze oder Datensätze in einer Datei zählen

Problem

Sie wollen die Zeilen, Absätze oder Datensätze in einer Datei zählen.

Lösung

Um Zeilen zu zählen, verwenden Sie fgets(). Da sie eine Zeile nach der anderen liest, können Sie zählen, wie oft sie aufgerufen wird, bevor das Dateiende erreicht ist:

$lines = 0;

if ($fh = fopen('orders.txt','r')) {
  while (! feof($fh)) {
    if (fgets($fh,1048576)) {
      $lines++;
    }
  }
}
print $lines;

Zum Zählen von Absätzen erhöhen Sie den Zähler nur, wenn Sie eine leere Zeile lesen:

$paragraphs = 0;

if ($fh = fopen('great-american-novel.txt','r')) {
  while (! feof($fh)) {
    $s = fgets($fh,1048576);
    if (("\n" == $s) || ("\r\n" == $s)) {
      $paragraphs++;
    }
  }
}
print $paragraphs;

Und um Datensätze zu zählen, erhöhen Sie ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.