CMS - Workbench | DE


Templating and Coding for CMS (WordPress, Bludit, Automad, Typesetter, GetSimple, Pico and more)


Artikel-Statistik

Erzeugen Sie mit diesem kleinen PHP-Programm eine Statistik.

Mit diesem Codeschnipsel, können Sie eine Beitrags-Statistik erstellen, um zu ermitteln welcher Beitrag wie oft gelesen wird.

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.

17.11.2020 • Bludit • PHP Statistik


Oliver Lohse - Ich bin diplomierter Wirtschafts-Informatiker und Organisations-Programmierer in verschiedenen Sprachen bzw. Markup-Dialekten, z.B.: Java, JEE, COBOL, PHP, Python, MySQL, HTML, CSS, ANSI C, Lisp, Rexx, JavaScript, Scheme, ActionScript 2.0, Maschinensprache, Assembler und JCL. Seit mehr als 22 Jahren arbeite ich in einem grossen Softwareunternehmen in Niedersachsen. Sie sehen auf dieser Seite mein eigens für Bludit CMS entwickeltes Theme "Reaktor-Block IV".

Kontakt: Κontakt@Οliver-Lohse.de


Empfehlungen:



Kleinste PHP Template-Engine

Wenn Sie eine extrem kleine Template-Engine benötigen, dann finden Sie in diesem Beitrag das Coding.

mehr...

PHP Formular Designpattern

Die Formularverarbeitung durch PHP ist immer noch der beliebteste Standard im Web. Nutzen Sie ein intelligentes Design, können Sie sich viel Arbeit und Stress ersparen.

mehr...

SEO ist Unsinn!

SEO ist wichtig aber nicht um jeden Preis. Entwerfen Sie eine natürliche Webseite, lassen sich nichts aufdiktieren.

mehr...

SimplePHP

SimplePHP ist eine leicht beherrschbare Template-Engine ohne externe Abhängigkeiten.

mehr...

eMail lesen und löschen

Mit Hilfe von PHP Scripten können Sie bequem auf Ihr Mailpostfach zugreifen, Mail lesen und danach löschen.

mehr...



CMS Workbench

Hilfreiche Tipps, Tricks, Codings und Codeschnipsel, die im Rahmen der Entwicklung, Weiterentwicklung und Templatings zum Thema CMS immer wieder benötigt werden - aus verschiedenen Sprachdialekten wie Java, JavaScript, PHP, Python und anderen.