Entwickler-Ecke
Programmiersprachen (Server) - Logdateien auswerten
Martok - Sa 01.09.07 19:17
Titel: Logdateien auswerten
Hi Leute!
Ich möchte per PHP eine Datei (wens interessiert: SA:MP Ban-Definitions-Datei) parsen und in eine Datenbank einlesen.
Die Datei besteht aus Zeilen in diesem Format:
Quelltext
1:
| IP [01/09/07 | 01:17:39] PLAYERNAME - INFOTEXT |
Diese möchte ich ein eine DB mit den Feldern IP, UPDATE, NAME zerlegen. Den Infotext brauch ich nicht.
Die Datei wird per HTTP-Upload an ein PHP-Script übertragen.
Meine Frage jetzt: was brauche ich dafür für Funktionen? Mit Dateiverarbeitung unter PHP hab ich nie was gemacht, also hab ich da so gar keine Ahnung... Irgendwie muss ich die Datei zeilenweise kriegen... danach die paar RegEx drüberschicken ist nicht so das Problem.
Danke schonmal,
Martok
TProgger - Sa 01.09.07 19:57
Hi,
das lässt sich relativ einfach realisieren. Mit der Function file() geht das.
Zitat:
Zitat: |
Die Funktion file() ist identisch mit readfile(), außer dass die eingelesene Datei als Array zurückgegeben wird. Jedes Feld des Arrays korrespondiert mit einer Zeile der Datei. Der Zeilenumbruch bleibt erhalten. Im Fehlerfall gibt file() FALSE zurück.
|
Allerdings muss man sich schon etwas mit php uns MySQL befassen, denn man müsste übe CREATTABLE erst mal eine entsprechende Table anlegen.
Weiterführende Links
http://www.php-homepage.de/manual/ und
http://de3.php.net/manual/de/
Gruß
Martok - Sa 01.09.07 20:19
So einfach ist das? Cool ;)
Und den Rest kann ich ja... auch wenn ich deinen ersten Link noch nicht kannte^^
EDIT: so, alles fertig. War ja richtig einfach ;)
BenBE - So 02.09.07 17:23
Quelltext
1: 2: 3: 4: 5: 6:
| preg_match_all('/^(\\d+\\.\\d+\\.\\d+\\.\\d+)\\s+\\[(.+?)\\]\\s+(\\w+)\\s+\\-\\s+(.+)$/im', $subject, $result, PREG_SET_ORDER); for ($matchi = 0; $matchi < count($result); $matchi++) { for ($backrefi = 0; $backrefi < count($result[$matchi]); $backrefi++) { // $result[$matchi][$backrefi]; } } |
Dann nur noch in die DB eintragen ;-)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!