Mit PHP Logdatei schreiben und Werte aktualisieren
Dieses PHP Codeschnipsel speichert Daten in eine Datei, dabei wird bei vorhandenen Werten der Zählerstand erhöht, neue werden am Dateiende hinzugefügt.
PHP Beispielcode
Der Code zum schreiben der Logdatei, im Beispiel sollen Zugriffe von Suchmaschinenbots geloggt werden.
CODE:
<?php
// Was soll geloggt werden?
$ref = getenv("HTTP_USER_AGENT");
// Ein paar User Agenten zur Auswahl
if (preg_match ("/^(Googlebot|Mediapartners|Scooter|MSNBot|Mozilla)/", $ref)) {
// Datei lesen
$inhalte = file("logdatei.dat");
$gefunden = 0;
// Nochmal öffnen für foreach
$fp = fopen("logdatei.dat", 'w+');
flock($fp, 2) or die('Kann die Datei nicht locken');
foreach ($inhalte as $value) {
$zeile = explode("|",$value);
chop($zeile[1]);
// Wenn Zeile gleich Referer
if ($zeile[1] == $ref) {
$gefunden = 1;
// Counter hochzählen
$zeile[0]++;
// aktualisierte Daten schreiben
fwrite($fp, "$zeile[0]|$zeile[1]|n");
} elseif ($zeile[1] != $ref) {
// restliche Daten schreiben
fwrite($fp, "$value");
}
}
// und wenn Eintrag noch nicht vorhanden - hinzufügen
if ($gefunden != 1) {
fwrite($fp, "1|$ref|n");
}
fclose($fp);
} // ende if
?>
Natürlich lassen sich hiermit auch andere Daten loggen, so z.B. Downloads, Seitenaufrufe oder Benutzerlogins.
Keine Kommentare vorhanden