Logfiles
Wenn der Besucher eine Site aufruft, dann werden verschiedene Daten in ein „Logfile“ gespeichert. Es werden IP, Datum, die aufgerufene Datei, Status der Datei, die größe der Datei und woher der Besucher kommt gespeichert.
So gehts…
So sieht ein Logeintrag aus:
87.68.16.76 – [01/Feb/2012:16:39:09 +0100] „GET / HTTP/1.1“ 200 16000 www.inspire-world.de „http://www.insprire-world.de/“ „Mozilla/4.0 (compatible; MSIE 5.5; Windows ME; DigExt)“
87.68.16.76 ist die IP, danach kommt das Datum. Get bestimmt, das die Daten an den Besucher gesendet wurde, danach kommt das Protokoll. Dann kommt der Status (200 = Seite gefunden; 404 = Seite nicht gefunden.
Die Zahl dahinter gibt an, wie groß die Datei ist.
Die weiteren Angaben bestimmen, welchen Browser der User benutzt hat.
Viele Server unterstützen Logfiles, aber wenn man einen Server hat, der dies nicht tut (evt. weil er kostenlos ist), dann kann man sich mit Hilfe von PHP eigene Logfiles schreiben. Den entsprechenden PHP-Script kopiert man dann in jede Seite, die erfasst werden soll.
Leider können wir damit nicht perfekte Logfiles erstellen, aber die wichtigsten Funktionen sind vorhanden
Zu erst müssen wir die wichtigsten Daten vom Besucher erfahren.
<?php $datum=date("d.m.Y:"); $zeit=date("H:i:s"); $ip=getenv("REMOTE_ADDR"); $site = $_SERVER['REQUEST_URI']; ?>
Mit $datum und $zeit ermitteln wir, wann der Besucher die Homepage besucht hat.
Mit $ip erfahren wir seine IP.
Mit $site erfahren wir, auf welche Seite der Besucher ist.
Danach fügen wir die Informationen hintereinander, damit sie gespeichert werden können.
<?php $eintragen="$ip - - [$datum$zeit] \"GET /$site HTTP/1.1\""; ?>
Mit $eintragen setzten wir die verschiedene Variablen zusammen.
Danach müssen die Informationen noch gespeichert werden. Damit wir die Logdateien besser auswerten können, werden für jeden Monat ein neue Logdatei angelegt.
Dies geht mit
<?php $monate = 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"); $monat = date("n"); $jahr = date("y"); $dateiname="log/log_$monate[$monat]_$jahr.txt"; ?>
Die Logdatei für diesen Monat würde log_Februar_12.txt heißen.
Die Logdateien werden dann in den Unterordner „Log“ gespeichert.
Dann mussen die Eigenschaften der Besucher noch in der jeweiligen Logdatei gespeichert werden.
Der Code dafür sieht so aus.
<?php $datei=fopen("dateiname.txt","a"); fputs($datei,"$eintragen\n"); fclose($datei); ?>
Schon sind ist der Logfile fertig.
Die Einträge sehn dann so aus:
87.47.13.105 - - [01.02.2012:16:37:13] "GET //inspire/tut_php.php HTTP/1.1"
Der Komplette Code sieht so aus:
<?php $datum=date("d.m.Y:"); $zeit=date("H:i:s"); $ip=getenv("REMOTE_ADDR"); $site = $_SERVER['REQUEST_URI']; $monate = array(1=>"Januar", 2=>"Feber", 3=>"Maerz", 4=>"April", 5=>"Mai", 6=>"Juni", 7=>"Juli", 8=>"August", 9=>"September", 10=>"Oktober", 11=>"November", 12=>"Dezember"); $monat = date("n"); $jahr = date("y"); $dateiname="log/log_$monate[$monat]_$jahr.txt"; $eintragen="$ip - - [$datum$zeit] \"GET /$site HTTP/1.1\""; $datei=fopen($dateiname,"a"); fputs($datei,"$eintragen\n"); fclose($datei); ?>
Keine Kommentare vorhanden