(PHP 4, PHP 5, PHP 7, PHP 8)
fgets — Lê uma linha de um ponteiro de arquivo
Retorna uma linha do ponteiro do arquivo.
stream
O ponteiro de arquivo deve ser válido e deve apontar para um arquivo aberto com sucesso 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 fluxo continuará até chegar ao final da linha.
Retorna uma string de até length
- 1 bytes lida do
arquivo apontado por stream
. Se não tiver mais dados
para ler no ponteiro do arquivo, então retorna false
.
Se um erro ocorrer, é retornado false
.
Exemplo #1 Lendo um arquivo linha por linha
<?php
$fp = @fopen("/tmp/arquivodeentrada.txt", "r");
if ($fp) {
while (($buffer = fgets($fp, 4096)) !== false) {
echo $buffer;
}
if (!feof($fp)) {
echo "Erro: falha inexperada de fgets()\n";
}
fclose($fp);
}
?>
Nota: Se o PHP não estiver reconhecendo corretamente os finais de linha ao ler arquivos em um computador Macintosh ou que foram criados em um, habilitar a opção de configuração em tempo de execução auto_detect_line_endings 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.