PHP Handbuch
Zurück |  | Nach vorne

# fgets

(PHP 3, PHP 4 )

fgets -- Liest eine Zeile von der Position des Dateizeigers

## Beschreibung

string fgets ( int fp [, int length])

Gibt eine Zeile bis zu `length` -1 Bytes Länge zurück, welche aus der Datei von der aktuellen Position des Dateizeigers `fp` aus ausgelesen wird. Die Zeile endet an einem Zeilenumbruch (welcher im Rückgabewert enthalten ist), EOF (Ende der Datei) oder bei `length` - 1 Bytes (je nachdem, was eher auftritt). Ist keine Länge angegeben, wird diese auf 1k bzw. 1024 Bytes gesetzt.

Wenn ein Fehler auftritt, wird `FALSE` zurückgegeben.

Häufig auftretende Fehler:

Wenn Sie an die C-Semantik von fgets() gewöhnt sind, sollten Sie auf die unterschiedliche Behandlung von `EOF` (genauer: wie EOF zurückgegeben wird) achten.

Der Datei-Zeiger `fp` muss gültig sein, d.h. die Datei, auf die gezeigt wird, muss zuvor mit fopen(), popen(), oder fsockopen() geöffnet worden sein.

Ein einfaches Beispiel:

Beispiel 1. Eine Datei Zeile für Zeile einlesen
    $fd = fopen ("/tmp/inputfile.txt", "r");
    while (!feof($fd)) {
        $buffer = fgets($fd, 4096);
        echo $buffer;
    }
    fclose ($fd);

> Anmerkung: Der Parameter `length` wurde in PHP 4.2.0 optional. Ist er nicht angegeben, wird als Zeilenlänge 1024 angenommen. Seit PHP 4.3 wird bei einem fehlenden Parameter `length` so lange gelesen, bis das Ende der Zeile erreicht ist. Ist der Großteil der Zeilen in der Datei größer als 8 kB, ist es effizienter, wenn Sie die maximale Zeilenlänge spezifizieren.

> Anmerkung: Diese Funktion ist seit PHP 4.3 "binary safe", was aus frühere Versionen nicht zutrifft.

> Anmerkung: Wenn Sie Probleme damit haben, dass `PHP` Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.

Siehe auch fread(), fopen(), popen(), fgetc(), fsockopen() und socket_set_timeout().

Zurück | Zum Anfang | Nach vorne
fgetcsv | Nach oben | fgetss