IT-Academy Logo
Sign Up Login Help
Home - Programmieren - PHP - Einen simplen Besucherzähler entwickeln



Einen simplen Besucherzähler entwickeln

Wollen Sie wissen, wie oft Ihre Seite besucht wird, und das ohne auf externe Dienste zuzugreifen? Hier wird eine simple Methode vorgestellt, die die Aufrufe Ihrer Seite zählt und in einer einfachen Textdatei speichert.


Autor: Christian Scheffler (@tention)
Datum: 13-06-2006, 19:33:37
Referenzen: http://www.tention.org/index.php?content=src_php_simple_counter
Schwierigkeit: Anfänger
Ansichten: 10207x
Rating: 6 (1x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



BESUCHERZÄHLER ENTWICKELN


Wollen Sie wissen, wie oft Ihre Seite besucht wird, und das ohne auf externe Dienste zuzugreifen? Hier wird eine simple Methode vorgestellt, die die Aufrufe Ihrer Seite zählt und in einer einfachen Textdatei speichert.

Das Prinzip ist ganz einfach. Es wird die Textdatei geöffnet und der vohandene Wert ausgelesen. Dieser wird dann inkrementiert (um 1 erhöht) und wieder in die Textdatei geschrieben.

Einfacher Besucherzähler:
<?php 
    $dateiname = "./zaehler.txt";
    //Es wird geprüft, ob die Zählerdatei schon vorhanden ist
    if(file_exists($dateiname))
    {
        //Datei existiert bereits, der Inhalt wird in ein Array geladen
        $inhalt = file($dateiname);
        //Der Zählwert wird aus der Zeichenkette extrahiert
        $alter_wert = 0;
        sscanf($inhalt[0],"%u",$alter_wert);
        //Der Zählwert wird inkrementiert
        $alter_wert += 1;
        //Der Zählwert wird wieder als Zeichenkette konvertiert
        $inhalt[0] = sprintf("%u",$alter_wert);

        //Datei wird geöffnet und der neue Wert geschrieben
        $fhandle = fopen($dateiname,"w");
        //Es wird geprüft, ob die Datei evtl. nicht geöffnet werden konnte
        if(!$fhandle)
            exit(1);
        
        //Datei konnte geöffnet werden, der neue Wert wird nun geschrieben
        fputs($fhandle,$inhalt[0]);
        //Datei wird geschlossen
        fclose($fhandle);
    }
    else
    {
        //Datei wird erstellt und der Wert 1 geschrieben
        $fhandle = fopen($dateiname,"a");
        //Es wird geprüft, ob die Datei evtl. nicht erstellt werden konnte
        if(!$fhandle)
            exit(1);
        
        //Datei konnte erstellt werden, der Wert 1 wird nun geschrieben
        fputs($fhandle,"1");
        //Datei wird geschlossen
        fclose($fhandle);
    }
?>

Verwendete PHP-Funktionen:
file_exists()
file()
sscanf()
sprintf()
fopen()
exit()
fputs()
fclose()

Dieses Beispiel kann Ihnen als Vorlage dienen, um weitaus komplexere Besucherzähler zu entwickeln, auch eine komplexe Besucherstatistik kann auf diesem Beispiel aufbauen.


frankieboy
Rookie
Beitrag vom:
25-09-2009, 20:28:53

Besucherzähler mit Geo IP

Schau dir mal hier das Tool an, das nutze ich um die IP Adressen aufzuzeichnen. Es speichert auf den Ort über Geotargeting, dass heißt du kannst sehen wo dein Besucher herkommt.

http://www.debilsoft.de

Läuft gut bei mir.

Grüße

Frank

-----------------------------------------------------


paedubucher
Professonial
Beitrag vom:
14-06-2006, 22:17:34

Nicht nur Code erklären

Ich fände es sinnvoll, wenn du zuerst in ein paar Sätzen aufschreiben würdest, wie du den Besucherzähler aufbauen willst. Das vereinfacht dann auch das Lesen des Codes, welcher recht gut kommentiert ist.

-----------------------------------------------------


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06246
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1154
Comments: 0