fseek

(PHP 4, PHP 5, PHP 7, PHP 8)

fseekProcura (seeks) em um ponteiro de arquivo

Descrição

fseek(resource $stream, int $offset, int $whence = SEEK_SET): int

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.

Parâmetros

stream

Um resource de ponteiro do sistema de arquivos que normalmente é criado usando fopen().

offset

A posição.

Para mover até uma posição anterior ao fim-do-arquivo, você precisa passar um valor negativo no offset e definir o parâmetro whence para SEEK_END.

whence

Valores de whence são:

  • SEEK_SET - Define a posição igual ao offset bytes.
  • SEEK_CUR - Define a posição para a atual localização mais offset.
  • SEEK_END - Define a posição para o final do arquivo mais offset.

Valor Retornado

Em caso de sucesso, retorna 0; caso contrário, retorna -1.

Exemplos

Example #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);

?>

Notas

Note:

Se você abriu o arquivo em modo de adição (a ou a+), quaisquer dados que você escreva no arquivo serão sempre acrescentados ao final, independente da posição do arquivo, e o resultado da chamada de fseek() será undefined.

Note:

Nem todos os fluxos (streams) suportam procura (seek). Para aqueles que não suportam, procuras além da posição atual podem ser feitas através da leitura e descarte de dados; outras formas de procura vão falhar.

Veja Também

  • ftell() - Retorna a posição atual do ponteiro de leitura/gravação do arquivo
  • rewind() - Retrocede a posição de um ponteiro de arquivos