fseek
Positioniert den Dateizeiger
Beschreibung
int fseek
( resource $handle
, int $offset
[, int $whence = SEEK_SET
] )
Im Allgemeinen ist es erlaubt hinter das Ende der Datei (EOF) zu
positionieren; wenn dann Daten geschrieben werden, ergeben Leseoperation in
einer unbeschriebenen Region zwischen dem EOF und der gesetzten Position
Bytes mit dem Wert 0. Allerdings unterstützen bestimmte Streams dieses
Verhalten möglicherweise nicht, besonders wenn sie einen unterliegenden
Speicher fester Größe haben.
Parameter-Liste
-
handle
-
Eine Dateisystemressource (resource),
wie sie in der Regel von fopen zurückgegeben
wird.
-
offset
-
Der Offset.
Um zu einer Position vor EOF zu gelangen, übergeben Sie in
offset einen negativen Wert und setzen Sie
whence auf SEEK_END.
-
whence
-
whence Werte sind:
SEEK_SET - Setzt Position gleich offset Bytes
SEEK_CUR - Setzt Position auf die aktuelle Stelle plus offset.
SEEK_END - Setzt die Position ans Ende der Datei plus offset.
Rückgabewerte
Bei Erfolg wird 0 zurückgegeben, andernfalls -1.
Beispiele
Beispiel #1 fseek Beispiel
<?php
$fp = fopen('somefile.txt', 'r');
// lies einige Daten
$data = fgets($fp, 4096);
// gehe zurück an den Anfang der Datei
// das selbe wie rewind($fp);
fseek($fp, 0);
?>
Anmerkungen
Hinweis:
Wenn Sie die Datei im Anfügemodus (a oder
a+) geöffnet haben, werden jegliche Daten, die sie in die
Datei schreiben, immer angehängt, unabhängig vom Dateizeiger, und das
Ergebnis des Aufrufs von seek ist undefiniert.
Hinweis:
Nicht alle Streams unterstützen Positionierung. Für jene, die Positionierung
nicht unterstützen, kann Vorwärtspositionierung durch Lesen und Verwerfen
von Daten erreicht werden; andere Formen der Positionierung schlagen fehl.