(PHP 4, PHP 5, PHP 7, PHP 8)
fseek — Procura (seeks) em um ponteiro de 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 procurar (seek) 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 (streams) 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.