fgets

fgets -- Le uma linha de um ponteiro de arquivo

Descrição

string fgets ( int fp [, int length])

Retorna uma string com até length - 1 bytes lidos do arquivo apontado por fp . 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

 
$fd

 
=

 
fopen

 
(

 
"

 
/

 
tmp

 
/

 
arquivodeentrada.txt"

 
,

 
"r")

 
;

 
while

 
(!feof

 
($fd)

 
)

 
{

 
$buffer

 
=

 
fgets($fd

 
,

 
4096)

 
;

 
echo

 
$buffer

 
;

 
}

 
fclose

 
($fd)

 
;





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( ) , fopen( ) , popen( ) , fgetc( ) , fsockopen( ) e socket_set_timeout( ) .