Manual do PHP
Anterior |  | Próxima

# fgets

(PHP 3, PHP 4, PHP 5)

fgets -- Le uma linha de um ponteiro de arquivo

## Descrição

string fgets ( resource handle [, int length] )

Retorna uma string com até length - 1 bytes lidos do arquivo apontado por `handle`. A leitura acaba quando length - 1 bytes foram lidos, encontra-se um fim de linha (newline) (que é incluido no valor retornado) ou no fim de arquivo (EOF) (o que acontecer primeiro). Se nenhum length for informado, o default é 1Kb, ou 1024 bytes.

Se um erro ocorrer, retorna `FALSE`.

Equívocos comuns:

Pessoas acostumadas a semântica do fgets em 'C' devem notar a diferenca em como o fim do arquivo (`EOF`) é retornado.

O ponteiro para o arquivo deve ser válido e deve apontar para um arquivo aberto com sucesso por fopen(), popen() ou fsockopen().

Um simples exemplo segue:

Exemplo 1. Lendo um arquivo linha a linha
`<?php $handle = fopen ("/tmp/arquivodeentrada.txt", "r"); while (!feof ($handle)) { $buffer = fgets($handle, 4096); echo $buffer; } fclose ($handle); ?>`

> Nota: O parâmetro `length` se tornou opcional a partir do PHP 4.2.0, e se omitido, tem default para 1024 bytes para o comprimento da linha. A partir do PHP 4.3, omitindo `length` fará continuar a leitura a partir do stream até encontrar o fim da linha. Se a maioria das linhas no arquivo forem todar maiores que 8 Kb, haverá mais eficiência de recursos se seus scripts informarem o comprimento máximo das linhas.

> Nota: Esta função é binary safe a partir do PHP 4.3. Versões anteriores não são seguras para dados binários.

> Nota: Se você está tendo problemas com o PHP no reconhecimento do final de linha quando criando ou lendo arquivos num computador Macintosh, você pode habilitar a opção auto_detect_line_endings.

Veja também fread(), fgetc(), stream_get_line(), fopen(), popen(), fsockopen() e socket_set_timeout().

Anterior | Principal | Próxima
fgetcsv | Acima | fgetss