Artikel-Statistik mit Bludit   Mit diesem Codeschnipsel, können Sie eine Beitrags-Statistik erstellen, um zu ermitteln welcher Beitrag wie oft gelesen wird. User-Verhalten wird dabei nicht gespeichert.

____________

« Home

Wenn Sie wissen möchten welche Artikel Ihres Blog am meisten gelesen werden, dann können Sie eine kleine Statistik mit PHP implementieren. Am interessantesten sind sicherlich die Aufrufe konkreter Beiträge, daher kommt das folgende Coding natürlich auch in die page.php. Die Statistik erzeugt zu jedem Beitrag eine gleichnamige ASCII-Datei in der die Zugriffe numerisch aufaddiert werden.

025  <?php
026 $titel = $page->key();
027
028 if(!is_dir ('bl-themes/ordner-ihres-themes/statistik')) {
029 mkdir('bl-themes/ordner-ihres-themes/statistik', 0705);
030 }
031
032 $datei = 'bl-themes/ordner-ihres-themes/statistik/'.$titel.'.txt';
033
034 $stellen = 5;
035
036 if(file_exists($datei)) { // existiert die Datei?
037 $fp = fopen($datei,"r+"); // FilePointer holen
038 $zahl = fgets($fp,$stellen); // akt. Inhalt lesen
039 $zahl++; // akt. Zahl +1
040 rewind($fp); // auf Dateianfang setzen
041 flock($fp,2); // Datei sperren
042 fputs($fp,$zahl,$stellen); // in Datei schreiben
043 flock($fp,3); // Sperre aufheben
044 fclose($fp); // Datei schliessen
045 } else {
046 $fp = fopen($datei,"w"); // Datei anlegen oeffnen
047 $zahl = "1"; // 1 initial eintragen
048 fputs($fp,$zahl,$stellen); // schreiben
049 fclose($fp); // Datei schliessen
050 }
051 ?>

In Zeile 28 wird geprüft ob das Verzeichnis statistik im Ordner ihres Themes existiert, wenn nicht wird es angelegt. Jeder andere Speicherplat funktioniert ebenso, doch ist es besser wenn Sie diese im Theme-Ordner haben, denn dann können Sie diese smat Theme weiter geben, denn diese Funktion gehört zum Theme und nicht zum Content.

Die Variable $page->key() liefert den bereinigten SEO-Namen (permalink) zurück und kann daher als Dateiname herhalten.

Alternativ

Im übrigen können Sie, sofern Sie PHP 5 oder 7 nutzen das folgende platzsparende Konstrukt nutzen:

...
036 if(file_exists($datei)) {
037 file_put_contents($datei, $tokens, FILE_APPEND);
038 } else {
039 file_put_contents($datei, $tokens);
040 }
...

Der Befeh file_put_contents() ist die neuere, moderne Schreibweise des früheren, etwas umständlichen fopen(), fclose(), fputs(),... Befehls. Ich nutze die untere Variante zum fortschreiben der Server-Variablen meiner Zugriffs-Statistik der Einzelbeiträge, um erfahren zu können wie die einzelnen Posts meiner Domain aufgerufen werden.



Weiter stöbern


Anleser einstellen

Geben Sie im Bludit Theme DEVTHEME vor, wie viele Characters Ihr Anleser haben soll. Editieren Sie die Datei home.php in der Zeile 39 oder lesen diesen Beitrag.

Categorie Count ausblenden

Ganz ehrlich? Niemand interessiert sich für die Anzahl von Beiträge in einer Kategorie, daher können Sie durch diesen Beitrag die Anzeige des Category ausschalten.


Autor: Oliver Lohse   Datum: 2020-06-01   Kategorie: Bludit   Schlagworte: Bludit • Statistik • Beitrag • Post • Hit • Count