Im vorherigen Artikel haben wir Ihnen eine Methode zum gleichzeitigen Lesen der gesamten Datei vorgestellt und vorgestellt. Mit dieser Methode können Sie den gelesenen Inhalt in einer Zeichenfolge speichern. Wenn Sie interessiert sind, können Sie auf „ So speichern Sie alle Daten“ klicken einer Datei in einen String in PHP》Ansicht. Im Folgenden wird weiterhin die Methode zum gleichzeitigen Lesen der gesamten Datei vorgestellt.
Die Methode im vorherigen Artikel gibt den gesamten Inhalt der Datei in einer Zeile aus. Es ist besser, wenn die Dateidaten zu groß sind, zum Beispiel:
Verwenden Sie file_get_contents(. ) Funktion zum Lesen und Ausgeben:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filestr = file_get_contents($file); echo $filestr; ?>
Das Ausgabeergebnis ist
Es ist ersichtlich, dass der Ausgabeinhalt nicht zum Lesen geeignet ist. Wie können wir also den gesamten Inhalt der Datei Zeile für Zeile ausgeben? Sie können Arrays verwenden.
Sie können die gesamte Datei auf einmal lesen und die Daten Zeile für Zeile im Array speichern. Jede Datenzeile entspricht einem Array-Element.
Schauen wir uns den folgenden Code an:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES); var_dump($filearr); ?>
Ausgabeergebnis:
Ist es leicht zu lesen? Manchmal müssen Sie den gesamten Inhalt lesen, benötigen aber vorerst nur eine Datenzeile , können Sie Array name[subscript]
verwenden, um die Daten der angegebenen Zeile abzurufen. Wenn Sie beispielsweise die dritte Datenzeile wünschen, können Sie Folgendes tun: 数组名[下标]
的形式来取指定行的数据。例如想要第三行的数据,那么可以:
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES); echo $filearr[2]; //数组下标是从0开始的 ?>
输出结果:
下面我们来了解一下里面的关键函数file()。
file($filename,$flags,$context)
函数接受一个必需参数$filename
(要读取的文件),两个可省略的参数$flags
和$context
(文件句柄的环境)。
但一般还是会设置$flags
参数的,该参数可以是以下一个或多个常量:
FILE_USE_INCLUDE_PATH
:在 include_path (在 php.ini 中)中查找文件,默认为 FALSE;如果想,则设置参数值为 '1'。
FILE_IGNORE_NEW_LINES
:在数组每个元素的末尾不要添加换行符;
FILE_SKIP_EMPTY_LINES
:跳过空行。
例如上例,如果省略“FILE_IGNORE_NEW_LINES”,输出会是这样的:
而如果一个文件中包含空行:
使用上例中的代码读取文件,输出结果为:
就可以设置“FILE_SKIP_EMPTY_LINES”来跳过空行,读取下一行数据。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $file = 'test.txt'; $filearr = file($file,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES); var_dump($filearr); ?>
输出结果为:
$flags
参数如果设置多个常量值,需要使用|
rrreee
Werfen wir einen Blick auf die Schlüsselfunktion file(). file($filename,$flags,$context)
-Funktion akzeptiert einen erforderlichen Parameter $filename
(die zu lesende Datei) und zwei ausgelassene Parameter $ flags
und $context
(die Umgebung des Dateihandles). Aber im Allgemeinen ist der Parameter $flags
weiterhin gesetzt, der eine oder mehrere der folgenden Konstanten sein kann:
FILE_USE_INCLUDE_PATH
: Suchen Sie nach Dateien in include_path (in php.ini). Der Standardwert ist FALSE. Falls gewünscht, setzen Sie den Parameterwert auf „1“.
FILE_IGNORE_NEW_LINES
: Fügen Sie am Ende jedes Elements des Arrays kein Zeilenumbruchzeichen hinzu; 🎜FILE_SKIP_EMPTY_LINES
: Leerzeile überspringen. 🎜$flags
Parameter. Wenn Sie mehrere konstante Werte festlegen, müssen Sie sie mit |
trennen. 🎜🎜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 vonSo speichern Sie die gesamten Dateidaten Zeile für Zeile in einem Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!