Heim  >  Artikel  >  Backend-Entwicklung  >  Woher weiß PHP, wie viele Zeilen eine Datei enthält?

Woher weiß PHP, wie viele Zeilen eine Datei enthält?

青灯夜游
青灯夜游Original
2021-08-11 19:54:243365Durchsuche

Im vorherigen Artikel „Woher weiß PHP, welche Dateien sich im angegebenen Verzeichnis befinden“ haben wir PHP verwendet, um die Namen der Dateien (ohne Unterverzeichnisse) im angegebenen Verzeichnis abzurufen. Dieses Mal werden wir darüber sprechen, wie man berechnet, wie viele Datenzeilen eine Datei enthält. Sie können bei Bedarf darauf zurückgreifen.

Wir haben eine Textdatei mit dem Namen „test.txt“, deren Inhalt lautet:

Woher weiß PHP, wie viele Zeilen eine Datei enthält?

Wir können sehen, dass die Datei 10 Datenzeilen enthält. So verwenden Sie das PHP-Programm, um Statistiken durchzuführen und zu berechnen Daten in der Datei Wie viele Datenzeilen gibt es?

Heute stellen wir Ihnen zwei Methoden vor, die erste ist die erste Methode:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$i=0;
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgets($handle,1024))) {        //循环读取文件内容
    $i++;
}
echo "文件中共有 ".$i." 行数据";
fclose($handle);                                    //关闭文件
?>

Ausgabeergebnis:

Woher weiß PHP, wie viele Zeilen eine Datei enthält?

Analyse:

  • Die Funktion fgets() kann die Datei einmal Zeile für Zeile lesen Eine Datenzeile kann gelesen werden.

  • Wir verwenden eine while-Schleife und die Funktion fgets(), um alle Daten der Datei zu lesen, und verwenden dann einen Zähler $i, um das Lesen der gesamten Datei zu zählen Wurde die Funktion fgets() ausgeführt? $i来统计读取整个文件,fgets()函数一共操作了几次即可。

利用while循环和fgets()函数的方法有点复杂,还需要打开和关闭文件。下面我们介绍一种更简单的方法:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$file = &#39;test.txt&#39;;
$filearr = file($file,FILE_IGNORE_NEW_LINES);
$i = count($filearr);
echo "文件中共有 ".$i." 行数据";
?>

输出结果:

Woher weiß PHP, wie viele Zeilen eine Datei enthält?

分析:

file()函数可以一次性读取整个文件,且会把整个文件读入一个数组中,一行数据对应一个数组元素【详情可阅读文章:《php怎么逐行将整个文件数据存入数组中》】。

我们使用var_dump()输出上例的$filearr数组,可得到:

Woher weiß PHP, wie viele Zeilen eine Datei enthält?

可以看出有10个数组元素,这10个数组元素就对应文件有10行数据。

此时使用count($filearr)

Die Verwendung der while-Schleife und der fgets()-Funktion ist etwas kompliziert und Sie müssen die Datei auch öffnen und schließen. Im Folgenden stellen wir eine einfachere Methode vor: rrreeeAusgabeergebnis:

Woher weiß PHP, wie viele Zeilen eine Datei enthält?Analyse: Die Funktion file() kann die gesamte Datei auf einmal lesen und liest die gesamte Datei in ein Array, wobei eine Datenzeile einem Array-Element entspricht [Details Artikel, die Sie lesen können: „Wie speichert PHP die gesamten Dateidaten in einer Array-Zeile von Zeile"].

Wir verwenden var_dump(), um das $filearr-Array im obigen Beispiel auszugeben, und wir können Folgendes erhalten: 🎜🎜Woher weiß PHP, wie viele Zeilen eine Datei enthält?🎜🎜Es ist ersichtlich, dass es 10 Array-Elemente gibt und diese 10 Array-Elemente 10 Datenzeilen in der Datei entsprechen. 🎜🎜Zu diesem Zeitpunkt verwenden Sie count($filearr), um die Länge des Arrays (die Anzahl der Array-Elemente) zu zählen, und Sie können ermitteln, wie viele Datenzeilen die Datei enthält. 🎜🎜Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜Grundlegende Bedienung von PHP-Dateien🎜🎜🎜🎜Empfohlen:🎜"🎜Sammlung von PHP-Interviewfragen (Sammlung)🎜" "🎜php-Video-Tutorial🎜"🎜

Das obige ist der detaillierte Inhalt vonWoher weiß PHP, wie viele Zeilen eine Datei enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn