La verdad es que es mucho mas facil poniendo exactamente lo que tengo sobre la mesa:
Código:
Esto es lo que tengo dentro del archivo C:\HB\GameServerLog\GameServerLogYYYYMMDD.log que se va actualizando cada minuto.(2006: 3:16:15:48) - (Apoca) Total user(0) (2006: 3:16:15:48) - (barrak) Total user(4) (2006: 3:16:15:48) - (areselv) Total user(32) (2006: 3:16:15:48) - (BtField) Total user(0) (2006: 3:16:15:48) - (Middle) Total user(11) (2006: 3:16:15:49) - (Apoca) Total user(0) (2006: 3:16:15:49) - (barrak) Total user(5) (2006: 3:16:15:49) - (areselv) Total user(32) (2006: 3:16:15:49) - (BtField) Total user(0) (2006: 3:16:15:49) - (Middle) Total user(10) (2006: 3:16:15:50) - (Apoca) Total user(0) (2006: 3:16:15:50) - (barrak) Total user(4) (2006: 3:16:15:50) - (areselv) Total user(32) (2006: 3:16:15:50) - (BtField) Total user(0) (2006: 3:16:15:50) - (Middle) Total user(11)
He separado en rojo y negro los bloques. En azul esta el nombre del mapa abreviado. Cada bloque corresponde a una actualizacion de los usuarios online de un juego y cada una de las 5 linias de un bloque corresponde a un mapa del juego.
Lo que yo quisiera es conseguir los 5 numeros del final de cada linia de cada bloque (jugadores online de cada mapa) y tambien sumar esos 5 numeros (total de jugadores online).
Intente con el siguiente codigo php pero no logré el resultado que esperaba (solo el numero de la ultima linia):
Código PHP:
<?
$dir = 'C:\\HB';
$servname = "Middle";
$start = "Jugadores Online en Middleland: ";
$lines = file($dir."\\GameServerLog\\GameServerLog".date("Ymd").".log");
foreach ($lines as $line) {
$len = strlen($line)-(38+strlen($servname));
$final = substr($line, (35+strlen($servname)), $len);
}
echo $start.$final;
?>
Gracias a los colaboradores.
ArgoN