(PHP 4, PHP 5, PHP 7)
fseek — Busca sobre un puntero a un fichero
$handle
, int $offset
[, int $whence
= SEEK_SET
] )
Establece el indicador de posición de fichero para el fichero referenciado por
handle
. La nueva posición, medida en bytes
desde el inicio del fichero, se obtiene añadiendo
offset
a la posición especificada por
whence
.
En general, se permite la búsqueda pasada la marca de fin de fichero; si entonces se escribe información, las lecturas en cualquier región no escrita entre la marca de fin del fichero y la posición buscada producirán bytes con valor 0. Sin embargo, ciertos flujos no pueden soportar este comportamiento, especialmente cuando tienen un tamaño de almacenamiento fijo subyacente.
handle
Resource que apunta a un fichero del sitema que normalmente es creado usando fopen().
offset
El índice.
Para moverse a una posición anterior a la marca de fin del fichero, necesita pasar
un valor negativo a offset
y
establecer whence
a SEEK_END
.
whence
Los valores de whence
son:
SEEK_SET
- Establece la posición igual a offset
bytes.SEEK_CUR
- Establece la posición a la ubicación actual más offset
.SEEK_END
- Establece la posición a la marca de final de fichero más offset
.Si tiene éxito, devuelve 0; de otro modo, devuelve -1.
Ejemplo #1 Ejemplo de fseek()
<?php
$fp = fopen('fichero.txt', 'r');
// leer alguna información
$data = fgets($fp, 4096);
// volver al principio del fichero
// igual que rewind($fp);
fseek($fp, 0);
?>
Nota:
Si se ha abierto un fichero en modo de adición (a o a+), cualquier información que se escriba en el fichero será siempre añadida, sin importar la posición, y el resutado de llamar a fseek() será indefinido.
Nota:
No todos los flujos soportan búsqueda. Para esos que no soportan búsqueda, la búsqueda hacia adelante desde la posición actual se lleva a cabo leyendo y descartando información; otras formas de búsqueda fallarán.