fgets
Liest eine Zeile von der Position des Dateizeigers
Beschreibung
string fgets
( resource $handle
[, int $length
] )
Parameter-Liste
-
handle
-
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
-
Lesen endet, wenn length - 1 bytes gelesen
wurden, bei einem Zeilenumbruch (der im Rückgabewert enthalten ist)
oder bei Dateiende (EOF) (was immer zuerst kommt). Wurde keine Länge
übergeben wird aus dem Stream gelesen, bis das Zeilenende erreicht
wird.
Hinweis:
Bis PHP 4.3.0, ergab ein Auslassen des Parameters eine Zeilenlänge von
1024. Wenn die Mehrzahl der Zeilen in der Datei größer als 8KB sind,
ist es für ihr Skript effizienter die maximale Zeilenlänge anzugeben.
Rückgabewerte
Gibt eine Zeichenkette zurück, die bis zu length - 1
Bytes lang ist, die aus der Datei gelesen wurde, auf die
handle zeigt. Wenn keine Daten mehr aus dem
Dateizeiger zu lesen sind, wird FALSE zurückgegeben.
Wenn ein Fehler auftritt, wird FALSE zurückgegeben.
Beispiele
Beispiel #1 Eine Datei Zeile für Zeile lesen
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
echo $buffer;
}
if (!feof($handle)) {
echo "Fehler: unerwarteter fgets() Fehlschlag\n";
}
fclose($handle);
}
?>
Anmerkungen
Hinweis: 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.
Hinweis:
Alle, die die 'C' Semantik von fgets gewohnt sind,
sollten den Unterschied beachten, wie das Dateiendezeichen
(EOF) zurückgegeben wird.
Siehe auch
- fgetss
- fread
- fgetc
- stream_get_line
- fopen
- popen
- fsockopen
- stream_set_timeout