Heim >Backend-Entwicklung >PHP-Problem >Woher weiß PHP, wie viele Zeilen eine Datei enthält?
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:
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('./test.txt', 'r'); //打开文件 if (!$handle) { //判断文件是否打开成功 echo '文件打开失败!'; } while (false !== ($char = fgets($handle,1024))) { //循环读取文件内容 $i++; } echo "文件中共有 ".$i." 行数据"; fclose($handle); //关闭文件 ?>
Ausgabeergebnis:
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 = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES); $i = count($filearr); echo "文件中共有 ".$i." 行数据"; ?>
输出结果:
分析:
file()函数可以一次性读取整个文件,且会把整个文件读入一个数组中,一行数据对应一个数组元素【详情可阅读文章:《php怎么逐行将整个文件数据存入数组中》】。
我们使用var_dump()输出上例的$filearr数组,可得到:
可以看出有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:
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: 🎜🎜🎜🎜Es ist ersichtlich, dass es 10 Array-Elemente gibt und diese 10 Array-Elemente 10 Datenzeilen in der Datei entsprechen. 🎜🎜Zu diesem Zeitpunkt verwenden Siecount($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!