fgets
(PHP 4, PHP 5)
fgets — Lê uma linha de um ponteiro de arquivo
Descrição
$handle
[, int $length
] )Retorna uma linha do ponteiro do arquivo.
Parâmetros
-
handle -
The file pointer must be valid, and must point to a file successfully opened by fopen() or fsockopen() (and not yet closed by fclose()).
-
length -
A leitura termina quando
length- 1 bytes tenham sido lidos, em 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.Note:
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.
Valor Retornado
Retorna uma string de até length - 1 bytes lida do
arquivo apontado por handle.
Se um erro ocorrer, retorna FALSE.
Changelog
| Versão | Descrição |
|---|---|
| 4.3.0 | fgets() passou a ser segura para binários |
| 4.2.0 |
O parâmetro length tornou-se opcional
|
Exemplos
Example #1 Lendo um arquivo linha por linha
<?php
$handle = @fopen("/tmp/arquivodeentrada.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>
Notas
Note: 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.
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 binary-safe de arquivo
- fgetc() - Lê um caracter do ponteiro de arquivo
- stream_get_line() - Gets line from stream resource up to a given delimiter
- fopen() - Abre um arquivo ou URL
- popen() - Abre um processo como ponteiro de arquivo
- fsockopen() - Abre um socket de conexão Internet ou de domínio Unix
- stream_set_timeout() - Set timeout period on a stream