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
fseek(resource $handle, int $offset, int $whence = SEEK_SET): int
Ejemplo
Movamos el puntero al byte 10 desde el inicio del archivo:
<?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
$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
$file = fopen('test.txt', 'r');
fseek($file, -5, SEEK_END);
echo fgets($file);
fclose($file);
?>
Ejemplo
Comprobemos el resultado de ejecutar fseek:
<?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:
0