Einfaches Hit Counter Plugin

Erstellen Sie einen einfachen Hitcounter und Besuchszähler als Pico Plugin. Dieser Counter zählt Aufrufe von Menschen oder Robots der Suchmaschinen.

Inhalt

Einfaches Counter-Plugin

Dieser Beitrag zeit Ihnen das Coding für ein einfaches Hit-Counter Plugin für das populäre Pico CMS. Es zählt lediglich die Zugriffe auf jeden einzelnen Beitrag ohne die IP Adresse des Lesers zu speichern oder gegen doppelte Zählung zu sperren.

001  <?php
002  class counter extends AbstractPicoPlugin {
003
004      // Damit das Plugin seine Arbeit aufnehmen kann, muss der Ordner Statistik in der root
005      // der Domain existieren. Legen Sie diesen Ordner ggf. von Hand an.
006
007      public function onRequestUrl($url) {
008          $urlsection = explode("/", $url);
009          $datei = $urlsection[count($urlsection)-1];
010        
011          if (count($urlsection) == 1) {
012              $datei = "statistik/index";
013          } else {
014              $datei = "statistik/".$datei;
015          }
016
017          $zahl  = 0;
018
019          if(file_exists($datei)){
020              $zahl = file_get_contents ($datei);
021              if ($zahl < 9999999) {
022                  $zahl++; // Schutz gegen Ueberlauf
023              }
024              file_put_contents($datei, $zahl);
025          } else {
026              file_put_contents($datei, '1');
027          }
028      }
029  }
030  ?>

Code

Damit das Plugin counter.php funktioniert, legen Sie bitte ein Verzeichnis statistik auf der root-Ebene an und kopieren das PHP-Script in den Ordner plugin, dort wird es automatisch von Pico CMS gestartet.

Dreh und Angelpunkt des Scriptes ist der Hook onRequestUrl(), diese Methode wird vom Pico CMS Framework in allen Plugins gerufen und ausgeführt. Die Methode berkommt dann die vom Leser angeforderte URL übergeben, die im obigen Code eine gleichnamige Datei erzeugt (wenn noch nicht vorhanden) und den Counter um +1 erhöht.

Sie können die Statistik auslesen, indem Sie den Ordner http://domain.de/statistik/countername eingeben, wobei countername der URL-Name des einzelnen Beitrags ist. Wollen Sie beispielsweise den Counter zum Beitrag impressum erfahren, können Sie folglich http://domain.de/statistik/impressum eingeben und der Inhalt wird im Browser angezeigt.

Hinweis | Das Script ist wirklich sehr einfach gehalten und soll daher eher als Grundlage für weitere Implementierungen dienen. Natürlich können Sie es auch so nutzen wie es dort abgebildet steht. Bedenken Sie bitte, das dieses Script bei jedem Besuch oder bei Refresh mit F5 im Browser auch immer +1 zählt. Sie müssen selbst entscheiden wie realistisch dieser Counter für Sie ist, denn auch Robots zählt das Programm mit.


FlightCMS
2024-01-28
PHP8
post
0