Función fseek

La función fseek permite mover el puntero de posición en un archivo. Como primer parámetro acepta un puntero al archivo, como segundo - el desplazamiento en bytes, y como tercero (opcional) - el punto de referencia. La función devuelve 0 si se ejecuta correctamente y -1 en caso de error.

Sintaxis

phpfseek(resource $handle, int $offset, int $whence = SEEK_SET): int

Ejemplo

Movamos el puntero al byte 10 desde el inicio del archivo:

php<?php
  $file = fopen('test.txt', 'r');
  fseek($file, 10);
  echo fgets($file);
  fclose($file);
?>

Ejemplo

Movamos el puntero 5 bytes desde la posición actual:

php<?php
  $file = fopen('test.txt', 'r');
  fseek($file, 5, SEEK_CUR);
  echo fgets($file);
  fclose($file);
?>

Ejemplo

Movamos el puntero 5 bytes desde el final del archivo:

php<?php
  $file = fopen('test.txt', 'r');
  fseek($file, -5, SEEK_END);
  echo fgets($file);
  fclose($file);
?>

Ejemplo

Comprobemos el resultado de ejecutar fseek:

php<?php
  $file = fopen('test.txt', 'r');
  $res = fseek($file, 10);
  echo $res; // 0 en caso de éxito, -1 en caso de error
  fclose($file);
?>

Resultado de ejecutar el código:

php0

Ver también

  • la función rewind,
    que reinicia el puntero del archivo
  • la función ftell,
    que devuelve la posición actual
  • la función fread,
    que lee desde el archivo