Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] sumar datos extraidos de un archivo de texto

Estas en el tema de sumar datos extraidos de un archivo de texto en el foro de PHP en Foros del Web. Saludos a todos, Tengo un archivo de texto que se va actualizando en un ftp. Por ejemplo tiene las siguientes lineas y columnas divididas por ...
  #1 (permalink)  
Antiguo 08/09/2013, 00:27
 
Fecha de Ingreso: abril-2003
Ubicación: Guatemala
Mensajes: 93
Antigüedad: 21 años, 7 meses
Puntos: 1
sumar datos extraidos de un archivo de texto

Saludos a todos,

Tengo un archivo de texto que se va actualizando en un ftp.

Por ejemplo tiene las siguientes lineas y columnas divididas por punto y coma:


Código:
id=Mv-1; ch=1; cimi=604000500356948; dir=L2M; iname=14389356371; [email protected]; omob=0601524121; tStart=522b79af(2013/09/07 19:08:31); tAnswer=+29; tEnd=+147; state=LanEnd

id=Mv-1; ch=7; cimi=604000500392542; dir=L2M; iname=3478395414; [email protected]; omob=0640566668; tStart=522b79b2(2013/09/07 19:08:34); tAnswer=+10; tEnd=+345; state=LanEnd

id=Mv-1; ch=2; cimi=604000500393010; dir=L2M; iname=494529459506; [email protected]; omob=0600380929; tStart=522b82aa(2013/09/07 19:46:50); tAnswer=+26; tEnd=+30; state=LanEnd

id=Mv-1; ch=1; cimi=604000500356948; dir=L2M; iname=14389356371; [email protected]; omob=0601524121; tStart=522b79af(2013/09/07 19:08:31); tAnswer=+29; tEnd=+147; state=LanEnd
Solo necesito sacar de ahi el "ch" (canal), el tAnswer y el tEnd.

para eso hice lo siguiente :

Código PHP:
<?php
$file 
fopen("ftp://cdr:[email protected]:21/2013_0908_0300.cdr""r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
{
$lineafgets($file);

list(
$id,$ch,$cimi,$ir,$iname,$iurl,$omob,$tStart,$tAnswer,$tEnd,$state) = explode(";",$linea);

$ch substr($ch43);
$tAnswer substr($tAnswer103);
$tEnd substr($tEnd73);

$resultado $tEnd $tAnswer;
echo 
"Canal $ch = $resultado segundos<br>";

}
fclose($file);


?>
y me salen los datos respectivos...

Cita:
Canal 1 = 118 segundos
Canal 7 = 335 segundos
Canal 2 = 4 segundos
Canal 1 = 118 segundos
tengo que restar tAnswer - tEnd de cada canal para que me de el tiempo consumido
pero si se dan cuenta el canal=1 aparece 2 veces y quiero que sume los 118 + 118 que pertenecen al mismo canal para tener el total de segundos que serian canal 1= 236 segundos
Espero me entiendan.

Por cierto son cdr´s para llevar el conteo de cada canal sip.

Gracias de antemano,
sicuesn

Última edición por sicuesn; 08/09/2013 a las 04:51
  #2 (permalink)  
Antiguo 08/09/2013, 08:45
Avatar de macmaikel  
Fecha de Ingreso: agosto-2013
Mensajes: 25
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: sumar datos extraidos de un archivo de texto

Hazte un array auxiliar para ir metiendo los valores de los canales, de forma que la posicion 0 sea para el canal 0, la 1 para el canal 1, la 2 para el canal 2.... etc...

De esa manera cada vez que sacas un valor cambias este codigo tuyo:

Código PHP:
$resultado $tEnd $tAnswer;
echo 
"Canal $ch = $resultado segundos<br>"
Por algo así:

Código PHP:
$resultado $tEnd $tAnswer;
$resultado=$resultado+arrayAuxiliar[$ch];
arrayAuxiliar[$ch]=$resultado;
echo 
"Canal $ch = $resultado segundos<br>"
Espero que te sirva :)
  #3 (permalink)  
Antiguo 08/09/2013, 21:48
 
Fecha de Ingreso: abril-2003
Ubicación: Guatemala
Mensajes: 93
Antigüedad: 21 años, 7 meses
Puntos: 1
Respuesta: sumar datos extraidos de un archivo de texto

Perfecto gracias....
  #4 (permalink)  
Antiguo 09/09/2013, 08:04
Avatar de macmaikel  
Fecha de Ingreso: agosto-2013
Mensajes: 25
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: sumar datos extraidos de un archivo de texto

de nada ;)

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