Foros del Web » Programando para Internet » PHP »

Problema al cargar una linea de txt en una variable...

Estas en el tema de Problema al cargar una linea de txt en una variable... en el foro de PHP en Foros del Web. HOla... Estoy leyendo un archivo txt que contiene 3 lineas: Código: aqui un texto cualquiera.... bla bla bla, es la primera linea Perro Otra linea ...
  #1 (permalink)  
Antiguo 17/06/2008, 00:49
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
Problema al cargar una linea de txt en una variable...

HOla...

Estoy leyendo un archivo txt que contiene 3 lineas:

Código:
aqui un texto cualquiera.... bla bla bla, es la primera linea
Perro
Otra linea
cargo el contenido del txt en un array por medio de la funcion file()

Código PHP:
<?php
// Leo el archivo
$lineas file('archivo.txt');

// Guardo el contenido de cada linea en variables
$linea1 $lineas[0];
$linea2 $lineas[1];
$linea3 $lineas[2];

// Reviso la segunda linea del txt si corresponde a lo que busco
if ($linea2=='Perro'){
     echo 
'es un perro';
}else{
     echo 
'no es un perro';
}
?>
Pero no funciona como debería, siempre me muestra la primera parte del IF, si modifico la segunda linea del txt (Perro) por otra cosa (Gato) igual me dice que es 'Perro', osea, la primera parte del IF.... si hago el mismo IF ELSE pero sin usar datos leidos desde un archivo externo, sino que yo agregandole el valor 'Perro' o 'Gato' a la variable $linea2 me funciona correctamente, tambien si imprimo el valor de $linea2 me lo muestra correctamente (Perro), por lo cual no se a que se deba el problema, no veo algu error de sintaxis u otra cosa en el codigo.

Si alguien sabe por que sucede eso me podría hechar una mano.

Gracias.
  #2 (permalink)  
Antiguo 17/06/2008, 01:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al cargar una linea de txt en una variable...

es preferible... usar === en lugar de solo dos... haber si eso es, ya que se ve raro, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/06/2008, 01:33
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: Problema al cargar una linea de txt en una variable...

HOla pateketrueke, gracias por la pronta respuesta.

Probe como me dijiste, colocando 3 singos =, es mas ya lo habia probado antes pero sigue sin funcionar.

Te adjunto el codigo para descargar por si tienes tiempo de probarlo.

En todo caso aqui esta lo que estoy probando:

Código PHP:
<?php
// Leo el archivo
$lineas file('archivo.txt');

// Guardo el contenido de cada linea en variables
$linea1 $lineas[0];
$linea2 $lineas[1];
//$linea2 = 'Perro';
$linea3 $lineas[2];

// aca imprimo el valor de $linea2 para verificar que me esta tomando el valor de la segunda linea del txt
echo $linea2."<br>";

// Reviso la segunda linea del txt si corresponde a lo que busco,
if ($linea2==='Perro'){
    
/*    Se supone que la segunda linea contiene la palabra 'Perro' y deberia mostrar el mensaje siguiente
        pero actua como si la revision no funcionara, saltandose al ELSE */
     
echo 'es un perro';
}else{
     echo 
'no es un perro';


/*    Ahora, si a la variable $linea2 le doy el valor 'Perro' en lugar de $lineas[1] ahi si que me funciona correctamente,
    puedo cambiar el valor de 'Perro' a 'Gato' y me funciona correctamente, no asi cuando el dato lo lee desde el txt,
    en donde siempre me toma como sifuese otro valor y no 'Perro' */
?>
No creo que sea problema del txt o de forma que file() lee la informacion del txt, bueno quien sabe, soy novato aun en php.

Estare atento a cualquier respuesta, saludos.
  #4 (permalink)  
Antiguo 17/06/2008, 01:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al cargar una linea de txt en una variable...

ya lo cheque.... y aparentemente sobra un espacio, que es raro... ya que tengo auto_detect_line_endings = On, demás que el archivo no tiene ese espacio, sabrá Dios quien lo puso ahí...

mira... en la linea donde imprimes Perro intenta hacer esto, para comprobarlo...

Código PHP:
echo "~$linea2~<br>"
puedes, entonces... usar trim() para limpiar estos residuos....

Código PHP:
if (trim($linea2)==='Perro'){ 

Referencia:

http://php.net/trim
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 17/06/2008, 02:07
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: Problema al cargar una linea de txt en una variable...

Ahora si funciona correctamente, muchas gracias por la ayuda, la verdad es que no se había fijado en ese espacion en blanco que se generaba, no se por qeu se genera si en el TXT no existe.

Gracias por la ayuda.


Saludos
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 15:24.