Heim > Backend-Entwicklung > PHP-Tutorial > Können Sie den Unterschied zwischen fgets, fgetss und fgetcsv in PHP immer noch nicht erkennen? Schnell sammeln!

Können Sie den Unterschied zwischen fgets, fgetss und fgetcsv in PHP immer noch nicht erkennen? Schnell sammeln!

藏色散人
Freigeben: 2023-04-10 15:44:02
Original
3121 Leute haben es durchsucht

Im vorherigen Artikel „So durchlaufen Sie assoziative Arrays in PHP (zwei Methoden)“ habe ich Ihnen zwei Methoden zum Durchlaufen assoziativer Arrays in PHP vorgestellt. Interessierte Freunde können mehr darüber erfahren ~

Das Thema dieses Artikels ist es, Ihnen die spezifischen Unterschiede zwischen den Funktionen fgets, fgetss und fgetcsv in PHP vorzustellen!

Tatsächlich beziehen sich diese drei Funktionen alle auf Dateioperationsfunktionen in PHP. Damit jeder die Verwendung verschiedener Funktionen in verschiedenen Situationen beherrschen kann, werde ich die Unterschiede zwischen ihnen zusammenfassen.

Jetzt werde ich die Funktionen fgets, fgetss und fgetcsv anhand von Beispielen vorstellen:

1: Funktion fgets() fgets()函数

fgets()函数用于每次从文件中读取一行;它会一直读取,直到遇到换行符 (n) 或 EOF;读取的最大长度是指定的长度减去 1 个字节。

语法如:

string fgets ( resource $handle [, int $length ] )
Nach dem Login kopieren

参数:

handle:文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。

length:从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。

实例:

创建一个test.txt文件,内容如下:(该内容段落来源于网络,侵删歉)

<p>秋已经很深了,似乎随时都可能陨落,<b>让冬给替代。</b></p>
那呼啸的北风或许正是冬的使者,匆忙而来,不想并未在这土地逗留片刻,就向南而去了。
Nach dem Login kopieren

PHP示例代码如下:

<?php
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>
Nach dem Login kopieren

输出效果如下:

Können Sie den Unterschied zwischen fgets, fgetss und fgetcsv in PHP immer noch nicht erkennen? Schnell sammeln!

二:fgetss() 函数

fgets()的一个有趣变体就是fgetss(),它具有以下语法 :

string fgetss(resource fp, int length, string [allowble_tags])
Nach dem Login kopieren

该函数与 fgets() 类似,不同之处在于它会去除在字符串中找到的任何 PHP 和 HTML 标记;如果要保留任何特定标签,可以将它们添加到allowable_tags字符串中;在读取别人写的文件或包含用户输入的文件时,为了安全起见,可以使用fgetss()。

本示例中的test.txt内容同上。

PHP示例代码如下:

<?php
$file = fopen("test.txt","r");
echo fgetss($file);
fclose($file);
Nach dem Login kopieren

输出如下所示:

Können Sie den Unterschied zwischen fgets, fgetss und fgetcsv in PHP immer noch nicht erkennen? Schnell sammeln!

若要保留特定标签,则可设置如下参数:

<?php
$file = fopen("test.txt","r");
echo fgetss($file,1024,"<p>,<b>");
fclose($file);
Nach dem Login kopieren

效果如下:

Können Sie den Unterschied zwischen fgets, fgetss und fgetcsv in PHP immer noch nicht erkennen? Schnell sammeln!

三:fgetcsv()
Die Funktion fgets() wird jedes Mal zum Lesen aus der Datei verwendet Zeile; es wird gelesen, bis ein Newline-Zeichen (n) oder EOF gefunden wird; die maximale gelesene Länge ist die angegebene Länge minus 1 Byte.

Syntax wie:

array fgetcsv(resource fp, int length [, string  delimiter [, string enclosure]])
Nach dem Login kopieren

Parameter:

Handle: Der Dateizeiger muss gültig sein und auf die Datei zeigen, die erfolgreich von fopen() oder fsockopen() geöffnet wurde (und nicht von fclose() geschlossen wurde).

Länge: Liest eine Zeile aus der Datei, auf die das Handle zeigt, und gibt eine Zeichenfolge mit einer Länge von höchstens 1 Byte zurück. Stoppt, wenn ein Zeilenumbruchzeichen (im Rückgabewert enthalten), ein EOF oder eine Länge von 1 Byte gelesen wurde (je nachdem, was zuerst eintritt). Wenn die Länge nicht angegeben ist, beträgt sie standardmäßig 1 KB oder 1024 Byte.

Beispiel:

Erstellen Sie eine test.txt-Datei mit folgendem Inhalt: (Dieser Inhaltsabsatz stammt aus dem Internet, Entschuldigung für Verstöße und Löschung)🎜🎜
春天, 夏天, 秋天, 冬天
早晨, 上午, 中午, 晚上
Nach dem Login kopieren
🎜🎜Der PHP-Beispielcode lautet wie folgt: 🎜🎜
<?php
$file = fopen("test.csv","r");
var_dump(fgetcsv($file));
fclose($file);
Nach dem Login kopieren
🎜 Der Ausgabeeffekt ist wie folgt: 🎜🎜 🎜4926af6488f30f9c96ae4ec202 0e6e3 .png🎜 🎜🎜two :fgetss() Eine interessante Variante der Funktion 🎜🎜🎜fgets() ist fgetss(), die folgende Syntax hat: 🎜
array (size=4)
  0 => string &#39;春天&#39; (length=6)
  1 => string &#39; 夏天&#39; (length=7)
  2 => string &#39; 秋天&#39; (length=7)
  3 => string &#39; 冬天&#39; (length=7)
Nach dem Login kopieren
🎜Diese Funktion ist ähnlich zu fgets(), mit der Ausnahme, dass dadurch alle in der Zeichenfolge gefundenen PHP- und HTML-Tags entfernt werden. Wenn Sie bestimmte Tags behalten möchten, können Sie diese aus Sicherheitsgründen beim Lesen von von anderen geschriebenen Dateien oder Dateien hinzufügen, die Folgendes enthalten: Benutzereingaben können Sie fgetss() verwenden. 🎜🎜Der Inhalt von test.txt in diesem Beispiel ist derselbe wie oben. 🎜🎜🎜PHP-Beispielcode lautet wie folgt: 🎜🎜rrreee🎜Die Ausgabe lautet wie folgt: 🎜🎜Können Sie den Unterschied zwischen fgets, fgetss und fgetcsv in PHP immer noch nicht erkennen? Schnell sammeln!🎜🎜Wenn Sie bestimmte Tags beibehalten möchten, können Sie die folgenden Parameter festlegen: 🎜rrreee🎜Der Effekt ist wie folgt: 🎜🎜Können Sie den Unterschied zwischen fgets, fgetss und fgetcsv in PHP immer noch nicht erkennen? Schnell sammeln!🎜🎜🎜Drei: f getcsv( ) Funktion🎜🎜🎜 🎜Die Funktion fgetcsv() ist eine weitere Variante von fgets() mit der folgenden Syntax: 🎜rrreee🎜Wenn Sie ein Trennzeichen (z. B. Tabulator oder Komma) verwenden, begrenzt diese Funktion die Datei Linien. 🎜🎜Erstellen Sie zunächst eine test.csv-Datei mit dem folgenden Inhalt: 🎜rrreee🎜PHP-Codebeispiel: 🎜rrreee🎜Ausgabe: 🎜rrreee🎜Die chinesische Website-Plattform von PHP verfügt über zahlreiche Video-Lehrressourcen. Jeder ist herzlich willkommen, das „🎜PHP-Video-Tutorial“ zu lernen 🎜" ! 🎜

Das obige ist der detaillierte Inhalt vonKönnen Sie den Unterschied zwischen fgets, fgetss und fgetcsv in PHP immer noch nicht erkennen? Schnell sammeln!. 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