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.