Foros del Web » Programando para Internet » PHP »

Quitar ultima linea de txt

Estas en el tema de Quitar ultima linea de txt en el foro de PHP en Foros del Web. Hola con la funcion fopen() abro un archivo de texto en el cual la relleno con lineas de escritura , el problema es que cada ...
  #1 (permalink)  
Antiguo 12/05/2014, 20:31
 
Fecha de Ingreso: abril-2014
Mensajes: 32
Antigüedad: 10 años
Puntos: 0
Pregunta Quitar ultima linea de txt

Hola con la funcion fopen() abro un archivo de texto en el cual la relleno con lineas de escritura , el problema es que cada vez que hago esto al ver el archivo txt siempre me deja después de la ultima linea de escritura una linea en blanco y quiero que el archivo de texto solo contenga en cada linea contenido de caracteres mas no una linea en blanco. ¿Cómo puedo quitar o evitar esa linea en blanco?
  #2 (permalink)  
Antiguo 12/05/2014, 21:21
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Quitar ultima linea de txt

Eso es porque estas manejando mal estructuras de control... en la ultima linea puedes no colocar el retorno de carro.

Usa while() o for() en vez de foreach()
__________________
Salu2!
  #3 (permalink)  
Antiguo 13/05/2014, 09:54
 
Fecha de Ingreso: abril-2014
Mensajes: 32
Antigüedad: 10 años
Puntos: 0
Respuesta: Quitar ultima linea de txt

Hola si estoy usando while() y no foreach().Y me sucede lo que comente.
  #4 (permalink)  
Antiguo 13/05/2014, 09:56
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Quitar ultima linea de txt

Coloque codigo para ver cual es la condicion de su while() ;)
__________________
Salu2!
  #5 (permalink)  
Antiguo 13/05/2014, 10:18
 
Fecha de Ingreso: abril-2014
Mensajes: 32
Antigüedad: 10 años
Puntos: 0
Respuesta: Quitar ultima linea de txt

Código PHP:
Ver original
  1. $list = fopen("lista.txt","r");
  2. $salida = fopen('wtf.txt','w');
  3.  
  4. while(!feof($list)){
  5. $line = fgets($list);
  6. $lines = trim($line);
  7.  
  8. fwrite($salida, $lines."\r\n");
  9. }
  10. fclose($salida);
  11.  
  12. // El archivo "lista.txt"  no tiene ninguna linea en blanco al final de todo.
  #6 (permalink)  
Antiguo 13/05/2014, 10:28
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Quitar ultima linea de txt

Pues al procesar la ultima linea le pega tambien "\r\n" y ahi el problema :)

Código PHP:
Ver original
  1. <?php
  2.  
  3. $list = fopen("lista.txt","r");
  4. $salida = fopen('wtf.txt','w');
  5.  
  6. // Aca procesas lo que necesites, linea a linea
  7. while(!feof($list))
  8. {
  9.     $lines[] = trim(fgets($list));  
  10. }
  11.  
  12. $cant = count($lines);
  13. for ($i=0;$i<$cant-2;$i++)
  14. {
  15.     fwrite($salida, $lines."\r\n");
  16. }
  17. fwrite($salida, $lines[$cant-1]);
  18.  
  19. fclose($salida);
  20.  
  21. // El archivo "lista.txt"  no tiene ninguna linea en blanco al final de todo.
__________________
Salu2!

Última edición por Italico76; 13/05/2014 a las 10:34

Etiquetas: Ninguno
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 14:18.