Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/04/2011, 04:38
snork3ls
 
Fecha de Ingreso: marzo-2011
Ubicación: Valencia
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Problema con archivos de texo

Hola. Estoy con un programa que genera un archivo de texto con una lista asi:

Código PHP:
Ver original
  1. $archivo = fopen("lista_grupo.txt" , "a+");
  2.         if ($archivo) {
  3.             fputs ($archivo,$_POST['nombre']."\n");
  4.         }
  5. fclose ($archivo);

La lista son nombres de archivos que tengo que abrir despues. Para eso he hecho:

Código PHP:
Ver original
  1. $archivo=fopen("lista_grupo.txt","r");
  2.     while(!feof($archivo)){  //leyendo los nombres
  3.         $tmp=fgets($archivo,255);
  4.         $v_nombre=rtrim($tmp);
  5.         $archivo2=fopen($v_nombre.".txt","r");
  6.  
  7.                 //A partir de aqui sigue el codigo

He puesto la linea de rtrim porque al leer la linea me añade un espacio en blanco al final.

He mirado el texto en hexadecimal y es por el caracter \n, pero necesito quitarlo.

Por ejemplo cuando lo lee me sale: archivo
Despues le añado la extension (.txt) y queda: archivo .txt
Se supone que con rtrim deberia salir: archivo.txt

El problema es que me borra todo el contenido de la variable $v_nombre.

Tambien he probado con:

Código PHP:
Ver original
  1. $v_nombre=substr($tmp,0,strlen($tmp)-1);

He mirado que strlen me da bien el valor del tamaño pero si le resto 1 es como si mandara -1. Tambien he probado restando 2 y 3 y se que funciona pero me corta el nombre.

¿Por que no puedo restar 1 o quitar ese caracter?
¿Deberia utilizar algo que no fuera \n para cambiar de linea?