Heim >php教程 >php手册 >PHP-Datei liest fread, fgets, fgetc, file_get_contents und Dateifunktionen

PHP-Datei liest fread, fgets, fgetc, file_get_contents und Dateifunktionen

WBOY
WBOYOriginal
2016-10-28 15:03:252157Durchsuche

Die Funktionen fread(), fgets(), fgetc(), file_get_contents() und file() werden zum Lesen von Inhalten aus Dateien verwendet.

fread()

Die Funktion fread() wird zum Lesen von Dateien verwendet (sicher für Binärdateien).
Syntax:

<span style="color: #0000ff">string</span> <span style="color: #008080">fread</span>( int handle, int length )

fread() liest bis zur Länge Bytes aus dem Dateizeiger-Handle. Das Lesen der Datei wird beendet, wenn eine der folgenden Bedingungen auftritt:

  • Nach dem Lesen bis zur Länge Bytes
  • Wenn das Ende der Datei erreicht ist (EOF)
  • (für Netzwerk-Streams), wenn ein Paket verfügbar ist
  • oder (nach dem Öffnen des Userspace-Streams) wenn 8192 Bytes gelesen wurden

10 Bytes (einschließlich Leerzeichen) aus der Datei lesen:

<?<span style="color: #000000">php
</span><span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1346.html</span>
<span style="color: #800080">$filename</span> = "test.txt"<span style="color: #000000">;
</span><span style="color: #800080">$fh</span> = <span style="color: #008080">fopen</span>(<span style="color: #800080">$filename</span>, "r"<span style="color: #000000">);
</span><span style="color: #0000ff">echo</span> <span style="color: #008080">fread</span>(<span style="color: #800080">$fh</span>, "10"<span style="color: #000000">);
</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fh</span><span style="color: #000000">);
</span>?>

Tipps

Wenn Sie nur den Inhalt einer Datei in einen String einlesen möchten, sollten Sie file_get_contents() mit besserer Leistung verwenden.

fgets()

Die Funktion fgets() wird verwendet, um eine Datenzeile aus einer Datei zu lesen und den Dateizeiger auf die nächste Zeile zu verweisen.
Tipp: Wenn Sie beim Lesen HTML-Tags in der Datei entfernen möchten, verwenden Sie bitte die Funktion fgetss().
Syntax:

<span style="color: #0000ff">string</span> <span style="color: #008080">fgets</span>( int handle [, int length] )

fgets() liest eine Zeile aus der Datei, auf die das Handle zeigt, und gibt eine Zeichenfolge mit einer Länge von bis zu 1 Byte zurück. Stoppt bei einem Zeilenumbruchzeichen (im Rückgabewert enthalten), EOF oder nachdem Bytes der Länge 1 gelesen wurden. Wenn die Länge nicht angegeben ist, beträgt sie standardmäßig 1 KB oder 1024 Byte.
Beispiel:

<?<span style="color: #000000">php
</span><span style="color: #800080">$fh</span> = @<span style="color: #008080">fopen</span>("test.txt","r") or <span style="color: #0000ff">die</span>("打开 test.txt 文件出错!"<span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000"> if条件避免无效指针
// http://www.manongjc.com/article/1347.html</span>
<span style="color: #0000ff">if</span>(<span style="color: #800080">$fh</span><span style="color: #000000">){
    </span><span style="color: #0000ff">while</span>(!<span style="color: #008080">feof</span>(<span style="color: #800080">$fh</span><span style="color: #000000">)) {
        </span><span style="color: #0000ff">echo</span> <span style="color: #008080">fgets</span>(<span style="color: #800080">$fh</span>), '<br />'<span style="color: #000000">;
    }
}
</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fh</span><span style="color: #000000">);
</span>?>

Zusätzliche Anweisungen

Die Funktion feof() testet, ob der Dateizeiger das Ende der Datei erreicht. Wenn es sich um eine ungültige Ressource handelt, fällt sie in eine Endlosschleife. Siehe „PHP-Dateizeigerfunktion“

fgetc()

Mit der Funktion fgetc() werden Dateidaten Wort für Wort bis zum Ende der Datei gelesen.
Syntax:

<span style="color: #0000ff">string</span> <span style="color: #008080">fgetc</span>( <span style="color: #0000ff">resource</span> handle )

Beispiel:

<?<span style="color: #000000">php
</span><span style="color: #800080">$fh</span> = @<span style="color: #008080">fopen</span>("test.txt","r") or <span style="color: #0000ff">die</span>("打开 test.txt 文件出错!"<span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000"> http://www.manongjc.com/article/1348.html</span>
<span style="color: #0000ff">if</span>(<span style="color: #800080">$fh</span><span style="color: #000000">){
    </span><span style="color: #0000ff">while</span>(!<span style="color: #008080">feof</span>(<span style="color: #800080">$fh</span><span style="color: #000000">)) {
        </span><span style="color: #0000ff">echo</span> <span style="color: #008080">fgetc</span>(<span style="color: #800080">$fh</span><span style="color: #000000">);
    }
}
</span><span style="color: #008080">fclose</span>(<span style="color: #800080">$fh</span><span style="color: #000000">);
</span>?>

file_get_contents()

Die Funktion file_get_contents() wird verwendet, um die gesamte Datei in einen String einzulesen, und gibt bei Erfolg einen String zurück, oder FALSE, wenn dies fehlschlägt.
Syntax:

<span style="color: #0000ff">string</span> <span style="color: #008080">file_get_contents</span>( <span style="color: #0000ff">string</span> filename [, int offset [, int maxlen]] )

Parameterbeschreibung:
Parameterbeschreibung
Dateiname Der Name der zu lesenden Datei
offset Optional, geben Sie die Startposition des Lesens an, der Standardwert ist die Startposition der Datei
maxlen Optional , geben Sie den Wert an. Die Länge der Datei in Bytes
Beispiel:

<?<span style="color: #000000">php
</span><span style="color: #008000">//</span><span style="color: #008000"> 读取时同事将换行符转换成 <br />
<span style="color: #0000ff">echo</span> <span style="color: #008080">nl2br</span>(<span style="color: #008080">file_get_contents</span>('test.txt'<span style="color: #000000">));
</span>?>

Datei()

Die Funktion file() wird verwendet, um die gesamte Datei in ein Array einzulesen. Jede Einheit im Array ist eine entsprechende Zeile in der Datei, einschließlich Zeilenumbrüchen. Gibt bei Erfolg ein Array zurück, bei Fehler FALSE.
Syntax:

<span style="color: #0000ff">array</span> <span style="color: #008080">file</span>( <span style="color: #0000ff">string</span> filename )

Beispiel:

<?<span style="color: #000000">php
</span><span style="color: #800080">$lines</span> = <span style="color: #008080">file</span>('test.txt'<span style="color: #000000">);
</span><span style="color: #008000">//</span><span style="color: #008000"> 在数组中循环并加上行号
// http://www.manongjc.com/article/1349.html</span>
<span style="color: #0000ff">foreach</span> (<span style="color: #800080">$lines</span> <span style="color: #0000ff">as</span> <span style="color: #800080">$line_num</span> => <span style="color: #800080">$line</span><span style="color: #000000">) {
    </span><span style="color: #0000ff">echo</span> "Line #{<span style="color: #800080">$line_num</span>} : ",<span style="color: #800080">$line</span>,'<br />'<span style="color: #000000">;
}
</span>?>

Inhalt der test.txt-Datei:
Hallo!
Dies ist die zweite Textzeile.
Browseranzeige:
Zeile #0: Hallo!
Zeile Nr. 1: Dies ist die zweite Textzeile.

Stellungnahme:
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