Foros del Web » Programando para Internet » PHP »

¿¿cómo detecto líneas en blanco (\n) en un fichero??

Estas en el tema de ¿¿cómo detecto líneas en blanco (\n) en un fichero?? en el foro de PHP en Foros del Web. Hola buenas, resulta que trabajando con ficheros, en una aplicación que escribe línea a línea con fputs ($fo, $name); y fputs($fo,"\n"); para luego leerlas fácilmente, ...
  #1 (permalink)  
Antiguo 03/07/2004, 13:18
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
¿¿cómo detecto líneas en blanco (\n) en un fichero??

Hola buenas, resulta que trabajando con ficheros, en una aplicación que escribe línea a línea con fputs ($fo, $name); y fputs($fo,"\n"); para luego leerlas fácilmente, pues no controlo bien cómo saber las líneas que hay escritas omitiendo los \n.

La función que uso y que no me vá bien es:

Código:
$lectura = fgets($fo, 1024);
  if($lectura != ""){
     $files=1;
     $lectura = fgets($fo, 1024);
     while( $fo && !feof($fo) && $lectura!= ""){
       $files++;
       $lectura = fgets($fo, 1024);
     }
     if(!$fo){
        echo "<div align='center'>Error de archivo al leer.</div>";
     }
     else{
     echo "<div align='center'>El archivo tiene tiene $files lineas</div>";
     }
  }
  else{
      echo "<div align='center'>El archivo no tiene lineas</div>";
  }
Me falla en un archivo en el que hay 3 líneas por ejemplo pero sólo la primera tiene caracteres.

Última edición por apañero; 04/07/2004 a las 06:12
  #2 (permalink)  
Antiguo 05/07/2004, 07:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías usar la función file() para leer tu archivo .. esa función te devolverá un array con tantos elementos como líneas (separadas por \n) tenga tu archivo .. ahí podras aplicar funciones de arrays tipo count() por ejemplo para contar sus elementos o bien funciones tipo foreach() (de bucles) para leer el archivo secuencialmente (de principio a fin) y de ahí operar con cada línea de tu archivo por separado o aplicar un implode() para convertir ese array en una cadena y tratarla como tal.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:29.