Heim  >  Artikel  >  Backend-Entwicklung  >  Textdateien in PHP lesen

Textdateien in PHP lesen

WBOY
WBOYnach vorne
2024-02-29 22:10:08989Durchsuche

php-Editor Xigua In der PHP-Entwicklung ist das Lesen von Textdateien ein häufiger Vorgang. Mit der Dateilesefunktion von PHP können Sie den Inhalt von Textdateien einfach öffnen, lesen und verarbeiten. Unabhängig davon, ob Konfigurationsdateien, Protokolldateien oder andere Arten von Textdateien gelesen werden, bietet PHP eine Fülle von Funktionen und Methoden, um diesen Vorgang auszuführen. In diesem Artikel erfahren Sie, wie Sie Textdateien in PHP lesen, sowie einige allgemeine Tipps und Vorsichtsmaßnahmen.


Verwenden Sie die Funktion fgets() in php, um die Textdatei Zeile für Zeile zu lesen

fgets() 函数逐行读取文本文件

我们可以使用带有 while 循环的 fgets() 函数在 PHP 中逐行读取文本文件。如果有一行,该函数返回一行,如果没有更多的行要读取,则返回 false。它需要两个参数。语法如下。

fgets($file, $length)

在这里,$file 类似于指向成功打开文件的文件指针。$length 选项,可选,表示要读取的字节数。

我们可以使用 open() 函数读取文件,然后使用 while 循环通过 fgets() 函数循环遍历每一行。我们有一个包含以下内容的文本文件 abc.txt

Hi
How are you
Have a great day 

例如,创建一个变量 $txt_file 并在其中写入 fopen() 函数。在 r 模式下打开文件 abc.txt。创建一个行计数器变量 $a 并将值 1 分配给它。然后,创建一个 while 循环。在循环的括号内,编写以 $text_file 作为参数的 fgets() 函数。将函数分配给循环中的 $line 变量。打印 $line 变量,将它与循环体内的 $a 变量连接起来。增加 $a 变量并在循环外使用 fclose() 函数关闭文件流。

示例代码:

<?php
$txt_file = fopen('abc.txt','r');
$a = 1;
while ($line = fgets($txt_file)) {
 echo($a." ".$line)."<br>";
 $a++;
}
fclose($txt_file);
?>

输出:

1 Hi 
2 How are you 
3 Have a great day

在 PHP 中使用 file() 函数逐行读取文本文件

file() 函数将整个文件读入一个数组file() 函数的语法如下。

file($filename, $flag, $context)

这里,$filename 是要读取的文件路径。$flag 选项是可选的,它由各种常量组成,例如 FILE_USE_INCLUDE_PATHFILE_IGNORE_NEW_LINESFILE_SKIP_EMPTY_LINES。第三个也是可选的,它定义了一个上下文资源。

file() 函数返回整个数组,如果它存在或返回 false。我们可以使用该函数通过 foreach() 函数的 helo 逐行读取文件上下文。foreach() 函数将遍历整个内容并单独提取每一行。

例如,将文件路径存储在变量 $txt_file 中。编写一个变量 $lines 并使用 $txt_file 作为参数将 file() 函数存储在其上。接下来,使用 foreach() 函数循环遍历文件的内容。使用 $lines 作为迭代器,使用 $num=>$line 作为值。在循环体内,打印 $num$line 变量。

示例代码:

$txt_file = 'abc.txt';

$lines = file($txt_file);
foreach ($lines as $num=>$line)
{
 echo 'Line '.$num.': '.$line.'<br/>';
}

输出:

Line 0: Hi 
Line 1: How are you 
Line 2: Have a great day

在 PHP 中使用 file_get_contents()explode() 函数逐行读取文件

file_get_contents() 函数将整个文件读入一个字符串。如果内容存在,则将整个文件作为字符串返回,否则返回 false。我们可以指定文件路径作为函数的参数。explode() 函数使用分隔符将字符串拆分为数组。explode() 函数的语法如下。

explode(separator, $string, $limit)

separator 选项用于在返回值时将 $string$limit 元素的数量分开。我们可以结合 file_get_contents()explode()foreach() 函数在 PHP 中逐行读取文本文件。

例如,创建一个变量 $contents 并在其上使用参数中的文件路径编写 file_get_contents() 函数。使用 explode() 函数,其中 n 字符作为分隔符,$contents 作为字符串。将函数分配给变量 $lines。使用 foreach 循环将 $lines 循环为 $line。然后,在循环体内打印 $line

在下面的示例中,$contents 变量返回字符串。我们用nWir können fgets mit der <code>while-Schleife verwenden. Die ( )-Funktion liest eine Textdatei Zeile für Zeile in PHP. Die Funktion gibt eine Zeile zurück, wenn eine vorhanden ist, oder false, wenn keine weiteren Zeilen zum Lesen vorhanden sind. Es erfordert zwei Parameter. Die Syntax ist wie folgt.

$contents=file_get_contents("abc.txt");
$lines=explode("\n",$contents);
foreach($lines as $line){
 echo $line.'<br>';

}

Hier ist $file wie ein Dateizeiger auf eine erfolgreich geöffnete Datei. Die optionale Option $length gibt die Anzahl der zu lesenden Bytes an.

Wir können die Funktion open() verwenden, um die Datei zu lesen, und dann die Schleife while verwenden, um jede Zeile durch fgets() zu durchlaufen. Code> Funktion. Wir haben eine Textdatei <code>abc.txt mit folgendem Inhalt.

Hi 
How are you 
Have a great day
🎜Erstellen Sie beispielsweise eine Variable $txt_file und schreiben Sie die Funktion fopen() hinein. Öffnen Sie die Datei abc.txt im r-Modus. Erstellen Sie eine Zeilenzählervariable $a und weisen Sie ihr den Wert 1 zu. Erstellen Sie dann eine while-Schleife. Schreiben Sie innerhalb der Klammern der Schleife die Funktion fgets(), die $text_file als Argument verwendet. Weisen Sie die Funktion der Variablen $line in der Schleife zu. Drucken Sie die Variable $line und verbinden Sie sie mit der Variablen $a im Schleifenkörper. Fügen Sie die Variable $a hinzu und verwenden Sie die Funktion fclose() außerhalb der Schleife, um den Dateistream zu schließen. 🎜🎜Beispielcode: 🎜rrreee🎜Ausgabe: 🎜rrreee🎜

Verwenden Sie file() in PHP Die Funktion liest eine Textdatei Zeile für Zeile

🎜file() Die Funktion liest die gesamte Datei in ein 🎜Array🎜. Die Syntax der Funktion file() lautet wie folgt. 🎜rrreee🎜Hier ist $filename der zu lesende Dateipfad. Die Option $flag ist optional und besteht aus Konstanten wie FILE_USE_INCLUDE_PATH, FILE_IGNORE_NEW_LINES und FILE_SKIP_EMPTY_LINES. Der dritte, ebenfalls optionale, definiert eine Kontextressource. 🎜🎜file()-Funktion gibt das gesamte Array zurück, wenn es existiert, oder gibt false zurück. Wir können diese Funktion verwenden, um den Dateikontext Zeile für Zeile durch das Helo der Funktion foreach() zu lesen. Die Funktion foreach() durchläuft den gesamten Inhalt und extrahiert jede Zeile einzeln. 🎜🎜Speichern Sie beispielsweise den Dateipfad in der Variablen $txt_file. Schreiben Sie eine Variable $lines und speichern Sie die Funktion file() darauf, indem Sie $txt_file als Argument verwenden. Als nächstes verwenden Sie die Funktion foreach(), um den Inhalt der Datei zu durchlaufen. Verwenden Sie $lines als Iterator und $num=>$line als Wert. Geben Sie innerhalb des Schleifenkörpers die Variablen $num und $line aus. 🎜🎜Beispielcode: 🎜rrreee🎜Ausgabe: 🎜rrreee🎜

Verwenden Sie file_get_contents() und <code>explode()-Funktionen lesen Dateien Zeile für Zeile

🎜file_get_contents()-Funktion liest die gesamte Datei in einen 🎜String🎜. Gibt die gesamte Datei als Zeichenfolge zurück, wenn der Inhalt vorhanden ist, andernfalls „false“. Wir können den Dateipfad als Argument für die Funktion angeben. Die Funktion explode() teilt einen String mithilfe eines Trennzeichens in ein Array auf. Die Syntax der Funktion explode() lautet wie folgt. 🎜rrreee🎜 Die Option separator wird verwendet, um $string von der Anzahl der $limit-Elemente zu trennen, wenn ein Wert zurückgegeben wird. Wir können die Funktionen file_get_contents(), explode() und foreach() kombinieren, um eine Textdatei Zeile für Zeile in PHP zu lesen. 🎜🎜Erstellen Sie beispielsweise eine Variable $contents und schreiben Sie die Funktion file_get_contents() darauf mit dem Dateipfad im Parameter. Verwenden Sie die Funktion explode() mit n Zeichen als Trennzeichen und $contents als Zeichenfolgen. Weisen Sie die Funktion der Variablen $lines zu. Verwenden Sie eine foreach-Schleife, um $lines in $line zu schleifen. Geben Sie dann $line innerhalb des Schleifenkörpers aus. 🎜🎜Im folgenden Beispiel gibt die Variable $contents eine Zeichenfolge zurück. Wir teilen es in ein Array mit n Zeilenumbrüchen auf und drucken jede Zeile mit einer Schleife aus. 🎜🎜Beispielcode: 🎜rrreee 🎜Ausgabe: 🎜rrreee

Das obige ist der detaillierte Inhalt vonTextdateien in PHP lesen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen