Statistik
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
agent
antwort
august
besucher
byte
count
date
datei
eigene funktion
gesendeten dokuments
januar
juni
lesen
log
mai
pattern
platzhalter
replacement
statistik
status
-
Hallo, kann man eigentlich eine Statistik auch selbermachen?
Kennt ihr ein Tuturial, mit dem man eine Statistik programmieren kann, die auf folgende Themen eingeht?
-Top 10: Von welcher Seite kommen wieviele User
-Top 10: Welche Seite wird am meisten aufgerufen
-Trafficverbrauch welcher Dateien
-Top 10: Welcher Provider wird von Usern benutzt
-Top 10: Welcher Browser wird von Usern benutzt
-Wie viele Besucher hat meine Seite pro h?
uvm...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Warum bitte wurde meine Antwort jetzt entfernt? Ist es verboten, sich jemandem anzuschlie?en
-
also nat?rlich kann man sowas selbst machen!
ist auch gar nicht so schwer. allerdings sollte man sich ein bissal mit PHP und MYSQL auskennen.
wenn du willst kann du mich bei ICQ anschreiben dann helf ich dir!!
mfg
ICQ: 279-522-765 -
cam schrieb:
Warum bitte wurde meine Antwort jetzt entfernt? Ist es verboten, sich jemandem anzuschlie?en
Richt?g!
Ich w?rde dir empfehlen eine Log Datei zu schreiben.
Ist ansich ganz einfach.
Hier mal mein Code dazu :
$log = array (); $log['ip'] = cyCase_ip (); // muss noch ver?ndert werden $log['user'] = '-'; // ggf. Username $log['logdate'] = date ( 'd/M/Y:H:i:s O', time () ); // Datum des Aufrufes $log['method'] = ( isset ( $_SERVER['REQUEST_METHOD'] ) ) ? $_SERVER['REQUEST_METHOD'] : 'GET'; // verwendete Methode $log['uri'] = ( isset ( $_SERVER['REQUEST_URI'] ) ) ? $_SERVER['REQUEST_URI'] : '-'; // aufgerufene Seite $log['protocol'] = ( isset ( $_SERVER['SERVER_PROTOCOL'] ) ) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.1'; // HTTP Version $log['status'] = '200'; // Status Code $log['bytes'] = 0; // Gr??e des gesendeten Dokuments $log['referer'] = ( isset ( $_SERVER['HTTP_REFERER'] ) && trim ( $_SERVER['HTTP_REFERER'] ) ) ? $_SERVER['HTTP_REFERER'] : '-'; // der Referrer $log['user_agent'] = ( isset ( $_SERVER['HTTP_USER_AGENT'] ) ) ? $_SERVER['HTTP_USER_AGENT'] : '-'; // der User Agent $line = '%ip% - %user% [%logdate%] "%method% %uri% %protocol%" %status% %bytes% "%referer%" "%user_agent%"'."\x0d\x0a"; $log = string ( $line, $log ); // hier musst du deine eigene funktion schreiben, die %platzhalter% mit $array['platzhalter'] ersetzt $months = array ( 1 => 'Januar', 2 => 'Februar', 3 => 'Maerz', 4 => 'April', 5 => 'Mai', 6 => 'Juni', 7 => 'Juli', 8 => 'August', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'Dezember' ); $month = date ( 'n' ); $month_name = $months[$month]; $file = 'logs/log_'.$month_name.'_'.date ( 'Y', time () ).'.log'; // Log Datei Namen erstellen $f = @fopen ( $file, 'a' ); @flock ( $f, LOCK_EX ); @fputs ( $f, $log ); @fclose ( $f );
Sollte man verstehen k?nnen, wenn man ein wenig PHP kann.
Ansonsten alopex Script dazu nutzen.
http://alopex.pyrokar.lima-city.de/index.php/PHP/essentials.html
Die Funktion heisst "foxy_access_log ()".
Zum Auswerten der Log Files kann man es z.B. so machen :
$file = 'logs/log_Januar_2006.log'; // Pfad zur Datei $pattern = '/^(.*)\s-\s(.*)\s\[(.*)\]\s"(.*)\s(.*)\s(.*)"\s(.*)\s(.*)\s"(.*)"\s"(.*)"/'; $replacement = '\1|\2|\3|\4|\5|\6|\7|\8|\9|\10'; $lines = explode ( "\n", file_get_contents ( $file ) ); $logs = array (); foreach ( $lines as $line ) { $to_explode = preg_replace ( $pattern, $replacement, $line ); $logs[] = explode ( '|', $to_explode ); } print ( 'Insgesamte Aufrufe im Januar : '.count ( $logs ) ); foreach ( $logs as $log ) { if ( isset ( $last[$log[1]] ) ) { $last[$log[1]]++; } else { $last[$log[1]] = 1; } } print ( 'Insgesamte Besucher im Janar :'.count ( $last ) ); // usw. // das Prinzip sollte klar sein
MfG Lucas
edit :
Aus [ quote ] [ code ] machen.
Beitrag ge?ndert am 13.03.2006 15:37 von lucas9991 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage