array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.fgets.php', 1 => 'fgets', ), 'up' => array ( 0 => 'ref.filesystem.php', 1 => 'Funções do sistema de arquivos', ), 'prev' => array ( 0 => 'function.fgetcsv.php', 1 => 'fgetcsv', ), 'next' => array ( 0 => 'function.fgetss.php', 1 => 'fgetss', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/filesystem/functions/fgets.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(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.