Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Servervariablen
Letztes Update: 16.08.2005 17:53:45


Navigation

Seite News *

Seite Startseite
Seite Über SELFPHP
Seite Werbung
Seite Kontakt
Seite Forum *
Seite PHP-Skripte
Seite PHP Befehlsreferenz
Seite PHP5 Praxisbuch
Seite Gratis-Videolektionen*
Seite Download *
Seite SELFPHP Banner *
Seite SELFPHP in Buchform
Seite Newsletter *
Seite Impressum

Seite Anbieterverzeichnis

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  

 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 79.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 



 

Erzeugen von eigenen Logfiles




Mit Hilfe der Servervariablen lassen sich auf einfache Weise auch eigene Logfiles erzeugen. Üblicherweise sind die meisten Webserver so eingestellt, dass solche Logfiles automatisch angelegt werden. Sie als Entwickler haben jedoch nicht bei jedem Provider einen direkte Zugriff auf diese Logfiles.

In diesem Fall kann Ihnen PHP behilflich sein, in dem Sie Ihre eigenen Logfiles anlegen. Sie werden natürlich nicht sämtliche Servervariablen in Ihr Logfile aufnehmen müssen. Es empfiehlt sich folgende Servervariablen zu erfassen:
. $REMOTE_ADDR
. $REQUEST_METHOD
. $PHP_SELF
. $HTTP_USER_AGENT
. $HTTP_REFERER

Zusätzlich sollten Sie noch mit Hilfe der date() und time()-Funktion das Datum und die Uhrzeit des Aufrufs erfassen.

Sie sollten sich nun den benötigten Codezeilen zuwenden und folgendes Skript in die Datei logfile.php übertragen:


<?php

$logdatei
=fopen("logs/logfile.txt","a");
fputs($logdatei,
    
date("d.m.Y, H:i:s",time()) .
    
", " $REMOTE_ADDR .
    
", " $REQUEST_METHOD .
    
", " $PHP_SELF .
    
", " $HTTP_USER_AGENT .
    
", " $HTTP_REFERER ."\n"
    
);
fclose($logdatei);

?>



Wie Sie sehen werden die Serverdaten in die Datei logfile.txt im Verzeichnis logs gespeichert. Sie müssen lediglich dafür sorgen, dass das Verzeichnis existiert und die entsprechenden Zugriffsrechte gesetzt wurden um eine Datei zu erzeugen.

Mit Hilfe der Funktion fopen() wird die Datei geöffnet und in den entsprechenden Modus versetzt (a = append, hinzufügen). In dieser geöffneten Datei wird nun mit Hilfe von fputs() eine Zeichenfolge geschrieben, die das aktuelle Datum und die aktuelle Uhrzeit enthält, gefolgt von der IP-Adresse des Client-Rechners, anschliessend die Art der Anfrage, der Name des aufgerufenen Skripts, Informationen über den Browser und die Seite, welche der Browser vorher besucht hat. Was Sie nicht vergessen sollten ist noch ein Zeilenvorschub hinzuzufügen \n, damit gewährleistet werden kann das jeder Aufruf in einer eigenen Zeile angelegt wird. Die Einträge der einzelne Aufrufe werden jeweils durch ein Komma voneinander getrennt, sodass die Daten auch leicht in Programme, wie Access oder Excel eingelesen werden können.

Am Ende des Skripts wird noch dafür gesorgt, dass die Datei mit Hilfe von fclose() wieder geschlossen wird.

Hinweis: Nähere Informationen zu fopen(), fclose(), etc. erfahren Sie im Abschnitt Dateisystem via PHP.



Einsatz der logfile.php

Um für jede Seite Ihrer Website die logfile.php automatisch mit aufrufen zu lassen und somit einsetzen zu können, bietet es sich an, die Datei im Header einer jeden Seite mit Hilfe einer include()-Anweisung einzubinden.


Beispiel



<?php
include("logfile.php");
?>



Dies führt dazu, dass bei jedem Seitenaufruf eine neue Zeile in der Datei logfile.txt mit den entsprechenden Daten erzeugt wird.

Diese Daten können Sie nun mit nach belieben mit anderer Software bearbeiten. Sie können auch wahlweise zusätzliche Servervariablen hinzufügen und damit die Aussagekraft ihrer Logfiles erweitern.


 


CGI-Umgebung
 




 sponsored by

Host Europe


HighText iBusiness


Host Europe




© 2001-2006 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2006 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de