fseek

(PHP 4, PHP 5, PHP 7)

fseekProcura (seeks) em um ponteiro de arquivo

Descrição

fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] ) : int

Modifica o indicador de posição do arquivo referenciado por handle. 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

handle

Um ponteiro de arquivo tipo resource tipicamente criado por 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

Exemplo #1 Exemplo de fseek()

<?php

$fp 
fopen('arquivo.txt');

// lê alguns dados
$data fgets($fp4096);

// move de volta para o inicio do arquivo
// o mesmo que rewind($fp);
fseek($fp0);

?>

Notas

Nota:

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.

Nota:

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 de leitura/gravação do ponteiro do arquivo
  • rewind() - Reinicializa a posição do ponteiro de arquivos para o início