So also ich meld mich mal nochmal^^ hab mal wieder ein problem mit arrays
nun ich hab ja das logfile das vllt welche von euch noch kennen
für die anderen hier könnt hier es mal anschauen:
http://www.n0n-clan.net/Statistics1.log
Nun hab ich diesen code:
Wenn ich das nun mit dem logfile mache dann kommt das hier raus:
http://www.n0n-clan.net/ausgabe.txt
Was ich allerdings haben wollte ist das hier als Beispiel:
('playername','kills','deaths','levelname','gametype')
und zwar ist es ja so in dem logfile, dass wenn bei dem server die map in diesem fall der levelname zu ende ist, da es nur ein bestimmte zeit läuft, das dann dieses hier wieder geschrieben wird bei dem anfang zur nächsten map:
Nun danach kommen die Spieler die auf dem server spielen. Und wenn die zeit zu ende ist geht das wieder von neuem los.
Nun würde ich es gerne so haben, dass die Daten aus dem Zitat zu den Playernamen die unter dem Zitat und zwar nur bis zu dem punkt bis ein neuer levelname kommt die Daten aus dem Zitat bekommen.
Und noch eine frage woran könnte es liegen, das bei der ausgabe immer alles obere wiederholt wird wenn eine neue zeile dazu kommt und wie könnte ich das beheben
nun ich hab ja das logfile das vllt welche von euch noch kennen
für die anderen hier könnt hier es mal anschauen:
http://www.n0n-clan.net/Statistics1.log
Nun hab ich diesen code:
PHP-Code:
$datei = fopen ("Statistics1.log", "r");
/*Absuche nach relevanten Daten*/
while (!feof($datei))
{
$zeile = fgets($datei,1024);
$regex = "/^Levelname\s*: /iU";
$regex1 = "/^Gametype\s*: /iU";
$regex3 = "/^Playername\s*: /iU";
$regex4 = "/^Kills\s*: /iU";
$regex5 = "/^Deaths\s*: /iU";
if (preg_match_all($regex,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$server['levelname'][] = $zeile;
}
}
if (preg_match_all($regex1,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$server['gametype'][] = $zeile;
}
}
if (preg_match_all($regex3,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$input['playername'][] = $zeile;
}
}
if (preg_match_all($regex4,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$input['kills'][] = $zeile;
}
}
if (preg_match_all($regex5,$zeile,$matches,PREG_SET_ORDER))
{
foreach($matches as $match)
{
$input['deaths'][] = $zeile;
}
}
}
fclose($datei);
/*Liest die Daten in ein array und macht sie in die eine gewisse form. Dabei werden unwichtige Datengelöscht*/
$input=array_merge($input, $server);
$values = array();
for ($i = 0; $i < sizeof ($input['playername']); $i++)
{
$values[] = "('".$input['playername'][$i]."','".$input['kills'][$i]."','".$input['deaths'][$i]."',
'".$server['levelname'][$i]."','".$server['gametype'][$i]."')<br>";
$values = preg_replace("#Playername|Kills|Deaths|Levelname|Gametype|:|\s#Um", "", $values);
foreach ($values as $vali)
{
echo $vali;
}
}
http://www.n0n-clan.net/ausgabe.txt
Was ich allerdings haben wollte ist das hier als Beispiel:
('playername','kills','deaths','levelname','gametype')
und zwar ist es ja so in dem logfile, dass wenn bei dem server die map in diesem fall der levelname zu ende ist, da es nur ein bestimmte zeit läuft, das dann dieses hier wieder geschrieben wird bei dem anfang zur nächsten map:
================================================================================
== Statistics ==
================================================================================
Servername : $5|$9-n$50$9n-$5|$9--$5|$9-$5N$9ow $5o$9r $5N$9ever-$5| $0Public V1.4
Levelname : mp_2v2_toon
Gametype : ASSAULT
================================================================================
== Statistics ==
================================================================================
Servername : $5|$9-n$50$9n-$5|$9--$5|$9-$5N$9ow $5o$9r $5N$9ever-$5| $0Public V1.4
Levelname : mp_2v2_toon
Gametype : ASSAULT
================================================================================
Nun würde ich es gerne so haben, dass die Daten aus dem Zitat zu den Playernamen die unter dem Zitat und zwar nur bis zu dem punkt bis ein neuer levelname kommt die Daten aus dem Zitat bekommen.
Und noch eine frage woran könnte es liegen, das bei der ausgabe immer alles obere wiederholt wird wenn eine neue zeile dazu kommt und wie könnte ich das beheben
Kommentar