mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 02:35 Benutzername: Passwort: Auto-Login

Thema: [php]logfiles auswerten vom 30.01.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [php]logfiles auswerten
Seite: Zurück  1, 2
Autor Nachricht
Backware

Dabei seit: 09.12.2004
Ort: bei Köln
Alter: 38
Geschlecht: Männlich
Verfasst Mo 30.01.2006 16:57
Titel

Antworten mit Zitat Zum Seitenanfang

dann gib ma den inhalt einer datei her ;D
  View user's profile Private Nachricht senden
caZpa
Account gelöscht Threadersteller


Ort: -

Verfasst Mo 30.01.2006 17:43
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
<?
$FtpHost = 'ftp.foo.bar';
$FtpUser = '';
$FtpPass = '';
$LogFileDir = '../logs';
$TmpLogFile = 'tmp_logfile.gz';

// ftp verbindung
$conn_id = ftp_connect($FtpHost);
// einloggen
$login_result = ftp_login($conn_id, $FtpUser, $FtpPass);
// verb prüfen
if ((!$conn_id) || (!$login_result)) {
        echo 'ftp geht nich';
        echo 'ftp@' . $FtpHost . ':' . $FtpUser;
        die;
}else {
        echo 'ftp@' . $FtpHost . ':' . $FtpUser;
}
//LogFilenamen einlesen:
$LogList = ftp_nlist($conn_id, $LogFileDir);
if (!empty($LogList)){
    foreach($LogList as $value){
        if(StrLen($value) >= 12){     /bedingung welche files eingelesen werden solln
                $tmphndl = fopen($TmpLogFile, 'r+');
                ftp_fget($conn_id, $tmphndl, $value, FTP_BINARY);
                $lines = gzfile($TmpLogFile, 0);
                fclose($tmphndl);

                foreach ($lines as $line) {
                    $TXT = $line;
                    $r_ip     = '(\d{1,3}.?\d{1,3}.?\d{1,3}.?\d{1,3})(.+)';
                    $r_datum  = '\[(\d+/.*?/\d+):(\d+:\d+:\d+)( )?(\+\d+)\]( )*';
                    $r_datei  = '"(get|post) (/.*?) (.*?)"( )*';
                    $r_status = '(\d+)( )*';
                    $r_dim    = '(\d+)( )*';
                    $r_ref    = '(".*?")*( )*';
                    $r_brow   = '(".*?")*';
                    $pattern = $r_ip.$r_datum.$r_datei.$r_status.$r_dim.$r_ref.$r_brow;
                    preg_match('~'.$pattern.'~i', $TXT, $array);

                    // und ab mit array in die datenbank
                    /*
                    ip              : $array[1]
                    datum           : $array[3]
                    zeit            : $array[4]
                    zeitzone        : $array[6]
                    get/post        : $array[8]
                    datei           : $array[9]
                    header          : §array[10]
                    status          : $array[12]
                    größe in byte   : $array[14]
                    referer         : $array[16]
                    browser         : $array[18]
                    */

                }
        }
    }
}
ftp_quit($conn_id);

?>



/////|edit

bevor die daten in die db kommen filter ich voher die irrelevanten sachen raus wie bilder, stylesheets etc:
Code:
$FileType = strtolower(substr($array[9], strrpos($array[9], '.')));
if($FileType != '.gif' && $FileType != '.jpg' && $FileType != '.js' && $FileType != '.ico' && $FileType != '.css' && StrLen($FileType) >= 2){
                            //speichern
}


mir wär ne lösung ganz recht, wo ich am anfang der datei die irrelevanten dateien definiere in nem array zb
was dann unten automatisch verglichen wird.
wie könnte man das machen?


Zuletzt bearbeitet von am Mo 30.01.2006 18:39, insgesamt 2-mal bearbeitet
 
Anzeige
Anzeige
 
Ähnliche Themen kostenlose software zum logfiles auswerten? wo? sinnvoll?
auswertung von logfiles
Logfiles Apple Darwin Streaming Server
User_Agent auswerten
Fragebogen mit PHP auswerten!!!
HTML Formular auswerten
Neues Thema eröffnen   Neue Antwort erstellen Seite: Zurück  1, 2
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.