(PHP 4, PHP 5, PHP 7)
fgets — Lê uma linha de um ponteiro de arquivo
$handle
[, int $length
] )Retorna uma linha do ponteiro do arquivo.
handle
O ponteiro de arquivo precisa ser válido, e apontar para um arquivo aberto por fopen() ou fsockopen() (e ainda não fechado por fclose()).
length
A leitura termina quando length
- 1 bytes tenham sido
lidos, ou uma quebra de linha (que é incluída no retorno), ou no final do arquivo
(EOF), o que acontecer primeiro. Se nenhum comprimento for especificado, a leitura
do stream continuará até chegar ao final da linha.
Nota:
Até o PHP 4.3.0, era assumido 1024 como o comprimento da linha, quando omitido. Se a maioria das linhas no arquivo for maior que 8KB, é mais eficiente para seu script especificar o comprimento máximo de linha.
Retorna uma string de até length
- 1 bytes lida do
arquivo apontado por handle
. Se não tiver mais dados
para ler no ponteiro do arquivo, então retorna FALSE
.
Se um erro ocorrer, é retornado FALSE
.
Versão | Descrição |
---|---|
4.3.0 | fgets() passou a ser segura para binários |
Exemplo #1 Lendo um arquivo linha por linha
<?php
$handle = @fopen("/tmp/arquivodeentrada.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
echo $buffer;
}
if (!feof($handle)) {
echo "Erro: falha inexperada de fgets()\n";
}
fclose($handle);
}
?>
Nota: Se PHP não está apropriadamente reconhecendo o final de linha quando lendo arquivos ou criando por um computador Macintosh, habilitando a opção auto_detect_line_endings em tempo de execução pode ajudar a resolver o problema.
Nota:
Pessoas acostumadas à semântica do fgets em 'C' devem notar a diferença em como o fim do arquivo (EOF) é retornado.