Contar o número de linhas e caracteres em arquivo PHP

Script que abre um arquivo de texto e realiza uma conta do número de linhas e de caracteres que tem.

Por Miguel Angel Alvarez - Tradução de JML


Publicado em: 08/9/06

Valorize este artigo:
Veremos um simples script para realizar uma conta do número de linhas e de caracteres de um arquivo de texto. É um script que pode ser muito útil, pelo menos para praticar um pouco com as funções de manejo de arquivos em PHP.

Como dissemos, trata-se de fazer uma conta do número de linhas de um arquivo e ademais o número de caracteres que tem. Para realizar esta conta devemos ler o arquivo de texto linha a linha, acumular um por cada linha em uma variável, assim como acumular em outra variável o número de caracteres de cada linha.

O código seria o seguinte:

<?
//abro o arquivo para leitura
$arquivo = fopen ("meuarquivo.txt", "r");

//inicio uma variavel para levar a conta das linhas e dos caracteres
$num_linhas = 0;
$caracteres = 0;

//faco um loop para percorrer o arquivo linha a linha ate o final do arquivo
while (!feof ($arquivo)) {
    //se extraio uma linha do arquivo e nao eh false
    if ($linha = fgets($arquivo)){
       //acumulo uma na variavel número de linhas
       $num_linhas++;
       //acumulo o número de caracteres desta linha
       $caracteres += strlen($linha);
    }
}
fclose ($arquivo);
echo "
Linhas: " . $num_linhas;
echo "
Caracteres: " . $caracteres;
?>

O script está comentado, mas daremos algumas explicações adicionais.

Primeiro, abrimos o arquivo para leitura. O arquivo se chama "meuarquivo.txt" e se supõe que está no mesmo diretório que este script PHP.

Logo criamos dois variáveis para levar a conta das linhas e dos caracteres.

Em seguida, fazemos um loop para percorrer o arquivo. O loop repetirá enquanto não chegar no final do arquivo. Em cada repetição do loop extraio uma linha, ao mesmo tempo que comprovo que o extraio é válido (Con fgets() extrai uma linha de texto e se houver um erro a função devolve false). Se se extrai corretamente a linha de texto se acumula 1 na variável que conta o número de linhas e se acumula o número de caracteres que tiver na variável que conta os caracteres do arquivo.

Uma vez finalizado o loop, porque chegou ao final do arquivo, serão mostrados os conteúdos das variáveis com o número das linhas e dos caracteres.






Usuários :    login / registro
Manuais relacionados
Categorias relacionadas
O autor

Buscar projetos:

Home | Sobre nós | Copyright | Anuncie | Entrar em contato