Liebe PHP-Experten.
Heute habe ich zum ersten Mal „was“ in PHP programmiert. Eigentlich bin ich mehr der Java-Mensch, aber die Vorgaben…
Idee ist mehrere Log-Files zu parsen und nach hergestellten oder unterbrochenen Log-Verbindungen zu forschen.
So parse ich also Zeile für Zeile,
und suche nach meinen Schlüsselwörtern (Log-Status) „connect“ oder „close“.
Klappt!
Bsp.:
blabla blub blabli CONNECT bla bla bla USER_GWAPA bla bla
blabla blub blabli CLOSE bla bla USER_GWAPA bla bla
$status\_array= explode(" ",$lines[$i]);
$status = $status\_array[4];
Dann überprüfe ich die vorhandenen Zeilen nach dem entsprechenden User. Abhängig vom log-Status ist der Username einmal an Position 8 und einmal an Position 7 zu finden.
if ("CONNECT"...)
$user = $status\_array[8];
if ("CLOSE"...)
$user = $status\_array[7];
kann per echo ausgegeben werden. Klappt!
In beiden Fällen echo $user: USER_GWAPA
Nun will ich über Prüfen, ob der gefundene $user einer bestimmten Gruppe ($group ganz zu beginn definiert) angehört. Dazu habe ich zwei Möglichkeiten gefunden:
if (strpos($group,$user)!==false){
....
}
if(preg\_match("/".$user."/", $group)){
...
}
Beide Möglichkeiten funktionieren nur für den Fall, dass der Log-Status „CONNECT“ war. Das verstehe ich aber überhaubt gar nicht. Weil ich unabhängig vom Log-Status ja jeweils nur mit der $user-Variablen weiter arbeite. Und diese ist nach meinem Verständnis in beiden Fällen gleich!?!
Ich hoffe ich habe mich verständlich ausgedrückt? Wenn nicht, tut es mir leid, ich werde jede Nachfrage natürlich gerne beantworten.
Ach ja ich nutze PHP 5.2.11 falls das was zur Sache tut.
Danke und Gute Nacht
gwapa