Foros del Web » Programando para Internet » PHP »

Pregunta: extraer datos de un archivo txt

Estas en el tema de Pregunta: extraer datos de un archivo txt en el foro de PHP en Foros del Web. Hola: Quisiera hacerles una consulta, tengo un archivo .txt y dentro hay una serie de datos en una misma línea pero separados por comas. Por ...
  #1 (permalink)  
Antiguo 30/11/2009, 07:14
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 10 años, 11 meses
Puntos: 2
Pregunta: extraer datos de un archivo txt

Hola:
Quisiera hacerles una consulta, tengo un archivo .txt y dentro hay una serie de datos en una misma línea pero separados por comas.

Por ejemplo tengo un txt y esta línea de datos:

garcia,1908,2300

Y lo que necesito es leer el último dato, en este caso el 2300, que puede ser esa cifra u otra como por ejemplo 23 ó 250, es decir ...no son cifras constantes.

Bueno, espero haber sido lo suficientemente explicativo como para que me den una mano con esto. Gracias
  #2 (permalink)  
Antiguo 30/11/2009, 07:16
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 10 años, 4 meses
Puntos: 334
Respuesta: Pregunta: extraer datos de un archivo txt

Código php:
Ver original
  1. $archivo = file("ruta_del_archivo.txt");
  2. $archivo = array_shift($archivo);
  3. $archivo = explode(",",$archivo);
  4. $archivo = array_pop($archivo);

saludos!
__________________
More about me...
~ @rhyudek1
~ Github

Última edición por Hidek1; 01/12/2009 a las 08:13
  #3 (permalink)  
Antiguo 30/11/2009, 07:19
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: Pregunta: extraer datos de un archivo txt

Upa, qué rápido!! Gracias hidek1!!!
pero...no veo como se lee el último dato que es el que me interesa.
gracias por la respuesta. Ya me estas ayudadndo
  #4 (permalink)  
Antiguo 30/11/2009, 07:20
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 10 años, 4 meses
Puntos: 334
Respuesta: Pregunta: extraer datos de un archivo txt

$archivo = array_pop($archivo);

esa function toma el ultimo valor de un array...
entonces tomaria el ultimo dato del explode por comas .. saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 30/11/2009, 07:22
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: Pregunta: extraer datos de un archivo txt

Ah!! no la tenía esa. Muchas gracias!!!! ahora lo pruebo!!!
  #6 (permalink)  
Antiguo 01/12/2009, 07:09
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: Pregunta: extraer datos de un archivo txt

Bueno, no me funcionó. Al ejecutarlo salía solamente la palabra array.
Pero probé con este otro y funcionó muy bien:

el archivo.dat contiene filas con datos separados por comas
el formato es así:

pedro_luro,30bc3,308

y lo que me interesa mostrar es el último dato , es decir el 308

<?php
$lines = file(ruta_del_archivo/archivo.dat');
foreach ($lines as $line_num => $line) {
$datos = explode(",", $line);
//en este caso solo muestro el último dato de 3 separados por comas
echo $datos[2];
}
?>

Bueno, lo dejo por si alguien lo necesita!!!
Saludos
  #7 (permalink)  
Antiguo 01/12/2009, 07:15
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 10 años, 4 meses
Puntos: 334
Respuesta: Pregunta: extraer datos de un archivo txt

:S pero eso no es dinamico .. si tiene mas de 2 comas ya no te mostrara el ultimo.. y lo que te pase no realiza ningun bucle asi que gasta menos recursos.. deberias verlo bien tiene que funcionar :B
__________________
More about me...
~ @rhyudek1
~ Github
  #8 (permalink)  
Antiguo 01/12/2009, 07:18
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 10 años, 4 meses
Puntos: 5
Respuesta: Pregunta: extraer datos de un archivo txt

La funcion que uso Hidek1 es la correcta, te mostro array porque no hiciste el ciclo para mostrarlo.
con un simple exho $datos; seguramente te muestra array.
pero si pones print_r ($datos); te lo muestra todo, o en otro caso, hacer el ciclo.
solo aclaracion.
Saludos!
  #9 (permalink)  
Antiguo 01/12/2009, 07:25
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 10 años, 4 meses
Puntos: 334
Respuesta: Pregunta: extraer datos de un archivo txt

no es necesario un ciclo tampoco...
Código php:
Ver original
  1. //testeando,todo,lo,que,pasa <-- contenido de archivo.txt
  2. $archivo = file("archivo.txt");
  3. $archivo = array_shift($archivo);
  4. $archivo = explode(",",$archivo);
  5. $archivo = array_pop($archivo);
  6. echo $archivo;
__________________
More about me...
~ @rhyudek1
~ Github
  #10 (permalink)  
Antiguo 01/12/2009, 07:30
Avatar de Fairy_Boy  
Fecha de Ingreso: octubre-2009
Ubicación: Kokiri Forest
Mensajes: 235
Antigüedad: 10 años, 4 meses
Puntos: 5
Respuesta: Pregunta: extraer datos de un archivo txt

Tienes razon :p
pero funca perfectamente, que raro para Cladam.
  #11 (permalink)  
Antiguo 01/12/2009, 08:11
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 10 años, 11 meses
Puntos: 2
Respuesta: Pregunta: extraer datos de un archivo txt

Ok, gracias por todas las respuestas

Hidek1, en realidad no necesito que sea dinámico ( tal vez a otro amigo pueda servirle que sea así) porque la cantidad de comas por lineas es invariable, o sea siempre son 2 comas pues se trata de un archivo que es modificado por otro script y yo quiero mostrarlo en otro lugar de la página sin modificar el script original que escribe dicho archivo.dat.

Por último, me resultó extraño que no funcionara tu primer script pero es ovbio que el problema estaba en la forma de mostrar el resultado.

Bien, hoy por la noche pruebo arreglando el código ( el de ustedes me gusta más) y despues les comento.

Muchas Gracias!!!
  #12 (permalink)  
Antiguo 02/12/2009, 07:18
Avatar de Cladam  
Fecha de Ingreso: marzo-2009
Ubicación: En algún lugar en mi mundo
Mensajes: 44
Antigüedad: 10 años, 11 meses
Puntos: 2
De acuerdo Respuesta: Pregunta: extraer datos de un archivo txt

Listo, ahora sí funciona bien. Evidentemente me faltaba esa linea de código $archivo = array_shift($archivo);


También probé la instruccion print_r ($datos); y funciona , pero me quede con la primera ya que solo debía agregar una línea y no modificar el echo porque dentro tenía además una condicional que no la puse antes en el ejemplo para no complicar la cosa.

O sea , quedo así:

Código PHP:
$archivo file("ruta_del_archivo/archivo.dat");
$archivo array_shift($archivo);
$archivo explode(",",$archivo);
$archivo array_pop($archivo);
if (
$archivo==0){echo "No hay lecturas";}elseif ($archivo==1){echo "Hubo 1 lectura";}else{echo "Hubo $archivo lecturas";} 
Bueno, gracias por la ayuda.
Slds!!!
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 05:18.