fseek

(PHP 4, PHP 5, PHP 7)

fseekPositioniert den Dateizeiger

Beschreibung

fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) : int

Setzt den Dateizeiger einer mit handle angegebenen Datei auf eine neue Position. Diese neue Position, angegeben in Bytes vom Beginn der Datei an, wird definiert durch Hinzufügen von offset zu der Position spezifiziert durch whence.

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($fp4096);

// gehe zurück an den Anfang der Datei
// das selbe wie rewind($fp);
fseek($fp0);

?>

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.

Siehe auch

  • ftell() - Ermittelt die aktuelle Position des Dateizeigers
  • rewind() - Setzt die Position eines Dateizeigers auf den Anfang