(PHP 4, PHP 5, PHP 7, PHP 8)
fseek — Aponta para uma posição no arquivo
Modifica o indicador de posição do arquivo referenciado por
stream
. A nova posição, medida em bytes a partir
do início do arquivo, é obtida ao adicionar
offset
à posição especificada por
whence
.
Geralmente é permitido apontar para além do fim-do-arquivo; se algum dado for então escrito, leituras além de qualquer região escrita entre o fim-do-arquivo e a região desejada irão trazer bytes com valor 0. Entretanto, alguns fluxos podem não suportar esse comportamento, especialmente quando têm definido um tamanho de armazenamento fixo.
Em caso de sucesso, retorna 0
;
caso contrário, retorna -1
.
Esta função foi criada para imitar a função de mesmo nome da linguagem C. Atenção aos valores de retorno, pois eles diferem do esperado no PHP.
Exemplo #1 Exemplo de fseek()
<?php
$fp = fopen('arquivo.txt');
// lê alguns dados
$data = fgets($fp, 4096);
// move de volta para o inicio do arquivo
// o mesmo que rewind($fp);
fseek($fp, 0);
?>
Nota:
Se o arquivo foi aberto em modo de adição (
a
oua+
), quaisquer dados que sejam escritos no arquivo serão sempre acrescentados ao final, independente da posição do arquivo, e o resultado da chamada a fseek() será indefinido.
Nota:
Nem todos os fluxos suportam pesquisa. Para aqueles que não suportam, pesquisas além da posição atual podem ser feitas através da leitura e descarte de dados; outras formas de pesquisa irão falhar.