(PHP 4, PHP 5, PHP 7)
fseek — Modifie la position du pointeur de fichier
$handle
, int $offset
[, int $whence
= SEEK_SET
] )
Modifie le curseur de position dans le fichier handle
.
La nouvelle position, mesurée en octets, à partir du début du fichier,
est obtenue en additionnant la distance offset
à la position whence
.
En général, il est possible de se déplacer au delà de la fin du flux (eof); si des données sont écrites dans ce cas, l'espace entre la fin du flux et la position courante sera rempli d'octets nuls. Cependant, certains flux ne supportent pas ce comportement, en particulier lorsque l'espace de stockage sous-jascent est de taille fixe.
handle
Un pointeur de système de fichiers de type resource qui est habituellement créé en utilisant la fonction fopen().
offset
La position.
Pour se déplacer à une position avant la fin du fichier, vous devez
passer une valeur négative à offset
et définir
le paramètre whence
à la valeur
SEEK_END
.
whence
Les valeurs possibles pour whence
sont :
SEEK_SET
: la position finale vaut offset
octets.SEEK_CUR
: la position finale sera la position courante, ajoutée à offset
octets.SEEK_END
: la position finale vaut la position courante par rapport à la fin du fichier, ajoutée de offset
octets.Retourne 0 en cas de succès, et sinon -1.
Exemple #1 Exemple avec fseek()
<?php
$fp = fopen('somefile.txt', 'r');
// lit quelques données
$data = fgets($fp, 4096);
// retourne au début du fichier
// identique à rewind($fp);
fseek($fp, 0);
?>
Note:
Si vous ouvrez le fichier avec le mode a ou a+, toutes les données que vous écrirez dans le fichier seront toujours ajoutées, sans se soucier de la position dans le fichier.
Note:
Tous les flux ne supportent pas le déplacement. Pour ceux qui ne le supportent pas, le déplacement en avant se fera en lisant et libérant les octets; les autres formes de déplacements échoueront.