(PHP 4, PHP 5, PHP 7, PHP 8)
fseek — Modifica la posición del puntero de archivo
Modifica el cursor de posición en el archivo stream
.
La nueva posición, medida en bytes, desde el inicio del archivo,
se obtiene sumando la distancia offset
a la posición whence
.
En general, es posible desplazarse más allá del final del flujo (eof); si se escriben datos en este caso, el espacio entre el final del flujo y la posición actual será rellenado con bytes nulos. Sin embargo, algunos flujos no soportan este comportamiento, en particular cuando el espacio de almacenamiento subyacente es de tamaño fijo.
stream
Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().
offset
La posición.
Para desplazarse a una posición antes del final del archivo,
debe pasarse un valor negativo en el offset
y
el parámetro whence
debe establecerse
en SEEK_END
.
whence
Los valores posibles para whence
son :
En caso de éxito, devuelve 0
;
de lo contrario, devuelve -1
.
Esta función ha sido creada para imitar la función del mismo nombre en lenguaje C. Tenga en cuenta los valores de retorno, ya que difieren de lo que podría esperarse en PHP.
Ejemplo #1 Ejemplo con fseek()
<?php
$fp = fopen('somefile.txt', 'r');
// lee algunos datos
$data = fgets($fp, 4096);
// vuelve al inicio del archivo
// equivalente a rewind($fp);
fseek($fp, 0);
?>
Nota:
Si abre el archivo con el modo
a
oa+
, todos los datos que escriba en el archivo siempre serán añadidos, sin importar la posición en el archivo.
Nota:
No todos los flujos soportan el desplazamiento. Para aquellos que no lo soportan, el desplazamiento hacia adelante se realizará leyendo y liberando los bytes; otras formas de desplazamiento fallarán.