Beschreibung
string
fgets
( resource handle [, int length])
Gibt
eine
Zeile
bis
zu
length
-1
Bytes
Länge
zurück
,
welche
aus
der
Datei
von
der
aktuellen
Position
des
Dateizeigers
handle
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
$handle
=
fopen
(
"
/
tmp
/
inputfile.txt"
,
"r")
;
while
(!feof($handle)
)
{
$buffer
=
fgets($handle
,
4096)
;
echo
$buffer
;
}
fclose
($handle)
;
|
|
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(
)
.