> Manuales > Gestión de archivos en PHP

Script que abre un archivo de texto y realiza una cuenta del número de líneas y de caracteres que tiene.

Vamos a continuar con nuestro manual de gestión de archivos con PHP con un sencillo script para realizar una cuenta del número de líneas y de caracteres de un archivo de texto. Es un script que puede resultarnos útil, por lo menos para practicar un poco con las funciones de manejo de archivos en PHP.

Como hemos dicho, se trata de hacer una cuenta del número de líneas de un archivo y además el número de caracteres que tiene. Para realizar esta cuenta debemos leer el archivo de texto línea a línea acumular uno por cada línea en una variable, así como acumular en otra variable el número de caracteres de cada línea.

El código sería el siguiente:

<?
//abro el archivo para lectura
$archivo = fopen ("miarchivo.txt", "r");

//inicializo una variable para llevar la cuenta de las líneas y los caracteres
$num_lineas = 0;
$caracteres = 0;

//Hago un bucle para recorrer el archivo línea a línea hasta el final del archivo
while (!feof ($archivo)) {
    //si extraigo una línea del archivo y no es false
    if ($linea = fgets($archivo)){
       //acumulo una en la variable número de líneas
       $num_lineas++;
       //acumulo el número de caracteres de esta línea
       $caracteres += strlen($linea);
    }
}
fclose ($archivo);
echo "
Líneas: " . $num_lineas;
echo "
Caracteres: " . $caracteres;
?>

El script está comentado, pero daremos unas explicaciones adicionales.

Primero abrimos el archivo para lectura. El fichero se llama "miarchivo.txt" y se supone que está en el mismo directorio que este script PHP.

Luego creamos un par de variables para llevar la cuenta de las líneas y de los caracteres.

Seguidamente hacemos un bucle para recorrer el archivo. El bucle iterará mientras que no se llegue al final del fichero. En cada iteración del bucle extraigo una línea, a la vez que compruebo que lo que he extraído tiene validez (Con fgets() se extrae una línea de texto y si hay un error la función devuelve false). Si se extrajo correctamente la línea de texto se acumula 1 en la variable que cuenta el número de líneas y se acumula el número de caracteres que tenga en la variable que cuenta los caracteres del archivo.

Una vez finalizado el bucle, porque se ha llegado al final del fichero, se muestran los contenidos de las variables con el número de líneas y caracteres.

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online Escu...

Manual