PHP-Dateioperation: Dateien Zeile für Zeile lesen

青灯夜游
Freigeben: 2023-04-10 13:44:02
Original
9254 Leute haben es durchsucht

Im vorherigen Artikel „php-Dateioperation – Dateien zeichenweise lesen“ haben wir eine Methode zum Lesen von Dateien vorgestellt: Dateien zeichenweise lesen. In diesem Artikel zeigen wir Ihnen eine andere Möglichkeit, Dateien zu lesen: Lesen Sie die Datei Zeile für Zeile und geben Sie sie gemeinsam aus.

Es gibt eine Textdatei mit dem Namen „test.txt“, der Inhalt darin ist:

PHP-Dateioperation: Dateien Zeile für Zeile lesen

Wie lesen wir den Inhalt der Datei Zeile für Zeile und geben ihn aus? Ganz einfach, heute stellen wir Ihnen zwei Methoden vor.

Method 1: Verwenden Öffnen Sie die Datei. Lesen Sie eine Datenzeile aus der Datei und akzeptieren Sie dabei einen erforderlichen Parameter $file (die Datei, die geöffnet wird) und einen optionalen Parameter $length (die Anzahl der zu öffnenden Bytes). read); Wenn der Parameter $length weggelassen wird, beträgt die Standard-Leselänge 1 KB (d. h. 1024 Byte).

Die Funktion fgets() stoppt, nachdem Neuzeilenzeichen, EOF (bis zum Ende der Datei gelesen) oder die angegebene Länge $length-1 erreicht wurde. code> (Die maximale Länge der zurückgegebenen Zeichenfolge beträgt <code>$length-1 Bytes).


Wenn wir nicht wissen, wie viele Daten sich in der Datei befinden, können wir sie mit der Funktion filesize() abrufen, die die Größe der angegebenen Datei (Anzahl der Bytes) zurückgeben kann.

Das obige Codebeispiel kann also geändert werden:

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

Das Ausgabeergebnis ist das gleiche wie oben.

PHP-Dateioperation: Dateien Zeile für Zeile lesen

Methode 2: Funktion fgetss() verwenden

Schauen wir uns das Codebeispiel an: $file(被打开的文件)和一个可选参数$length(要读取的字节数);如果省略了 $length 参数,则默认读取 1k(即1024字节)长度。

fgets()函数在遇到换行符EOF(读到文件末尾)或者到达指定长度 $length-1 后停止(返回字符串长度最大值为 $length-1 个字节)。

如果我们不知道文件中有多少数据,可以使用filesize()函数来获取,该函数可以返回指定文件的大小(字节数)。

所以上面的代码示例可以修改一下:

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$url = &#39;./test.txt&#39;;
$handle = fopen($url, &#39;r&#39;);                 //打开文件 
$size= filesize($url);                  //计算文件大小
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgets($handle,$size))) {        //循环读取文件内容
    echo $char."<br>";
}
fclose($handle);                                    //关闭文件
?>
Nach dem Login kopieren

输出结果和上面是一样的。

方法2:使用fgetss()函数

我们来看看代码示例:

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

输出结果:

PHP-Dateioperation: Dateien Zeile für Zeile lesen

关键函数分析:

fgetss()函数和fgets()函数相似,都可以从打开的文件中读取一行数据,不同的是fgetss()函数会过滤掉数据中的 HTML 和 PHP 标签。

fgetss() 函数接受一个必需参数$file、两个可选参数$length$tags。参数$file和$length在fgets()函数中介绍过来,大家可以去上文了解。而参数$tags是用来指定哪些标记不被去掉,我们通过一个例子来具体了解一下:

PHP-Dateioperation: Dateien Zeile für Zeile lesen

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$handle = fopen(&#39;./test.txt&#39;, &#39;r&#39;);                 //打开文件
if (!$handle) {                                     //判断文件是否打开成功
    echo &#39;文件打开失败!&#39;;
}
while (false !== ($char = fgetss($handle,1024,"<h1>,<em>"))) {        //循环读取文件内容
    echo $char."<br>";
}
fclose($handle);                                    //关闭文件
?>
Nach dem Login kopieren

在上面的代码中,我们设置参数$tags的值为“<h1>,<em></em> </h1>”,也就是不过滤<h1></h1><em></em>rrreee

Ausgabeergebnis:

PHP-Dateioperation: Dateien Zeile für Zeile lesenPHP-Dateioperation: Dateien Zeile für Zeile lesen

Schlüsselfunktionsanalyse: Die Funktion fgetss() ähnelt der Funktion fgets(), beide können es sein Aus der geöffneten Datei erhalten Lesen Sie eine Datenzeile ein. Der Unterschied besteht darin, dass die Funktion fgetss() HTML- und PHP-Tags in den Daten herausfiltert. Die Funktion

fgetss() akzeptiert einen erforderlichen Parameter $file, zwei optionale Parameter $length und $tags. Die Parameter $file und $length werden in der Funktion fgets() eingeführt. Mehr darüber erfahren Sie oben. Der Parameter $tags wird verwendet, um anzugeben, welche Tags nicht entfernt werden. Lassen Sie uns anhand eines Beispiels mehr darüber erfahren: PHP-Dateioperation: Dateien Zeile für Zeile lesen

rrreee

Im obigen Code setzen wir den Wert des Parameters $tags auf „ ,<em></em>“, d. h. die Tags <h1></h1> und <em></em> werden nicht gefiltert, daher die Ausgabe Das Ergebnis ist: Hinweis:

Denken Sie nach dem Bearbeiten der Datei daran, die Datei mit der Funktion fclose() zu schließen! 🎜🎜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 vonPHP-Dateioperation: Dateien Zeile für Zeile lesen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!