(PHP 4, PHP 5, PHP 7, PHP 8)
fgets — Liest die Zeile von der Position des Dateizeigers
Liest die Zeile von der Position des Dateizeigers.
stream
Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.
length
Der Lesevorgang endet, wenn length
- 1 Bytes
gelesen wurden, bei einem Zeilenumbruch (der im Rückgabewert enthalten
ist) oder am Dateiende (EOF) (je nachdem, was zuerst kommt). Wurde
keine Länge übergeben, wird aus dem Stream gelesen, bis das Zeilenende
erreicht ist.
Gibt eine Zeichenkette mit einer Länge von bis zu
length
- 1 Bytes zurück, die aus der Datei gelesen
wurde, auf die stream
zeigt. Wenn keine Daten mehr
aus dem Dateizeiger zu lesen sind, wird false
zurückgegeben.
Wenn ein Fehler auftritt, wird false
zurückgegeben.
Beispiel #1 Eine Datei Zeile für Zeile lesen
<?php
$fp = @fopen("/tmp/inputfile.txt", "r");
if ($fp) {
while (($buffer = fgets($fp, 4096)) !== false) {
echo $buffer;
}
if (!feof($fp)) {
echo "Fehler: fgets() schlug unerwartet fehl\n";
}
fclose($fp);
}
?>
Hinweis: Wenn PHP Zeilenendezeichen nicht richtig erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, kann die Option auto_detect_line_endings aktiviert werden.
Hinweis:
Wer die C-Semantik von fgets() gewohnt ist, sollte den Unterschied in der Rückgabe des Dateiende-Zeichens (
EOF
) beachten.