Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2013, 00:27
sicuesn
 
Fecha de Ingreso: abril-2003
Ubicación: Guatemala
Mensajes: 93
Antigüedad: 21 años, 1 mes
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