fgets

(PHP 4, PHP 5, PHP 7, PHP 8)

fgetsLê uma linha de um ponteiro de arquivo

Descrição

fgets(resource $stream, ?int $length = null): string|false

Retorna uma linha do ponteiro do arquivo.

Parâmetros

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.

Valor Retornado

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.

Exemplos

Example #1 Lendo um arquivo linha por linha

<?php

$fp = @fopen("/tmp/arquivodeentrada.txt", "r");

if ($fp) {
    while (($buffer = fgets($fp, 4096)) !== false) {
        echo $buffer, PHP_EOL;
    }

    if (!feof($fp)) {
        echo "Erro: falha inexperada de fgets()\n";
    }

    fclose($fp);
}

?>

Notas

Note: 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.

Note:

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

Veja Também

  • fgetss() - Ler uma linha de um ponteiro de arquivo e retira as tags HTML
  • fread() - Leitura de arquivo segura para binário
  • fgetc() - Lê um caractere do ponteiro de arquivo
  • stream_get_line() - Obtém uma linha do recurso do fluxo até um delimitador informado
  • fopen() - Abre um arquivo ou URL
  • popen() - Abre um processo como ponteiro de arquivo
  • fsockopen() - Abre uma conexão socket de domínio Unix ou de Internet
  • stream_set_timeout() - Define o limite de tempo em um fluxo