streamWrapper::stream_seek

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_seekPlace le pointeur de flux à une position

Description

public streamWrapper::stream_seek(int $offset, int $whence = SEEK_SET): bool

Cette méthode est appelée en réponse à fseek().

La position de lecture/écriture doit être modifiée pour refléter la nouvelle position offset et whence.

Liste de paramètres

offset

La position à rechercher dans le flux.

whence

Les valeurs possibles sont :

  • SEEK_SET : la nouvelle position vaut offset octets.
  • SEEK_CUR : la nouvelle position vaut la position courante plus offset.
  • SEEK_END : la nouvelle position vaut la fin de fichier plus offset.

Note: L'implémentation actuelle ne définie jamais whence à SEEK_CUR; en effet ces recherches de position sont convertie en interne à des recherches de type SEEK_SET.

Valeurs de retour

Retourne true si la position a été mise à jour, false sinon.

Notes

Note:

Si elle n'est pas implémentée, false sera utilisée comme valeur de retour.

Note:

En cas de succès, streamWrapper::stream_tell() est appelée directement après streamWrapper::stream_seek(). Si streamWrapper::stream_tell() échoue, la valeur retournée à la fonction appelante false.

Note:

Toutes les opérations de déplacement sur un flux ne nécessitent pas obligatoirement l'utilisation de cette fonction. Les flux PHP ont la lecture en mémoire tampon d'activé par défaut (voir aussi la fonction stream_set_read_buffer()) ainsi que la déplacement dans ce flux, pouvant être effectué en déplaçant le pointeur du buffer.

Voir aussi

  • fseek() - Modifie la position du pointeur de fichier

add a note add a note

User Contributed Notes 1 note

up
1
fb at tigermedia dot dk
10 years ago
Please notice that the return value of this function is a boolean but the return value of fseek is 0 for ok and -1 for failure.

Please use this implementation when working with files:

function stream_seek($offset, $whence) {
        if(0 === fseek($this->_handler, $offset, $whence)){
            return true;
        }
        return false;
}
To Top