Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Extraer valores de un archivo txt

Estas en el tema de Extraer valores de un archivo txt en el foro de PHP en Foros del Web. Buenas tardes a todos, Estoy intentando hacer lo siguiente. Tengo un archivo txt que se actualiza cada minuto mostrando diferentes valores separados mediante un espacio, ...
  #1 (permalink)  
Antiguo 12/12/2015, 12:43
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 4 meses
Puntos: 0
Extraer valores de un archivo txt

Buenas tardes a todos,

Estoy intentando hacer lo siguiente. Tengo un archivo txt que se actualiza cada minuto mostrando diferentes valores separados mediante un espacio, por ejemplo:

Código:
2.6 7.8 69 132 1.8
Necesito acceder al archivo txt, extraer los valores, asociarlos a sus correspondientes etiquetas y crear otro archivo txt como el siguiente:

Código:
{"temp":"2.6","hum":"69","wind":"7.8","dirwind":"132","rain":"1.8"}
He utilizado la función substr() y me ha funcionado. El problema viene cuando por ejemplo el valor 2.6 se actualiza y cambia a 10.2, que al tener un dígito mas ya no me vale la misma función substr(). Hay alguna otra forma de extraer los valores?

Un saludo y muchas gracias.
  #2 (permalink)  
Antiguo 12/12/2015, 14:30
 
Fecha de Ingreso: diciembre-2015
Ubicación: México
Mensajes: 280
Antigüedad: 8 años, 5 meses
Puntos: 20
Respuesta: Extraer valores de un archivo txt

Hola amigo, no has intentado usar la función explode?
Échale un vistazo a la documentación de php, creo q en este caso, esa función te puede ayudar más q substr
  #3 (permalink)  
Antiguo 12/12/2015, 14:43
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: Extraer valores de un archivo txt

Utiliza explode guiate en este ejemplo:

Código PHP:
Ver original
  1. $variable="2.6 7.8 69 132 1.8";
  2. $datos=explode(' ',$variable);
  3. // ahora tendras en el vector $datos cada uno de ellos asi:
  4. //$datos[0]=2.6;
  5. //$datos[1]=7.8 y asi con todos el resto

espero haber ayudado
  #4 (permalink)  
Antiguo 13/12/2015, 11:42
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Extraer valores de un archivo txt

Muchas gracias a los dos ya he conseguido hacerlo. Al final ha quedado así:
Código PHP:
<?php
$filas
=file('archivo.txt'); 
foreach(
$filas as $value){
    list(
$Header$viento$racha$dir$temp$hum$bar$preci$precimes$preciaño$rate$maxrate$tempint$humint$soil$fore$a$b$c$preciayer$c$d$e$f$g$h$i$j$k$hora$minuto$segundo$nombre$l$solar$dia$mes) = explode(" "$value);
    echo 
'{"time":"'.$hora.''
    echo 
':'.$minuto.''
    echo 
'","date":":'.$dia.''
    echo 
'/'.$mes.''
    echo 
'/2015","temp":"'.$temp.''
    echo 
'","hum":"'.$hum.''
    echo 
'","wind":"'.$viento.''
    echo 
'","dirwind":"'.$dir.''
    echo 
'","rain":"'.$preci.''
    echo 
'","rainrate":"'.$rate.''
    echo 
'","bar":"'.$bar.''
    echo 
'"}'
}
?>
Sabéis como puedo guardar el resultado en otro archivo txt en otro directorio?
Gracias.
  #5 (permalink)  
Antiguo 13/12/2015, 11:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Extraer valores de un archivo txt

Cita:
Sabéis como puedo guardar el resultado en otro archivo txt en otro directorio?
No lo imprimas con echo, concatena el resultado en un cadena de texto y así la podrás guardar donde sea.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: txt
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 13:59.