der-simon
Goto Top

Besucherzähler verschiedener Tage in einer Datei

Hallo Leute,

ich hab mal eine kleine Frage an euch.
Ich benutze auf meiner Seite ein kleines PHP Script das die Besucher zählt
und die Anzahl in eine Textdatei schreibt. Das habe ich jetzt so geändert, dass
es jeden Tag eine neue Textdatei mit der Besucheranzahl des Tages erstellt.
Dass wird aber mit der Zeit leider recht unübersichtlich.
Meine frage wäre jetzt, lässt sich das auch in EINER Textdatei realisieren ?
Also jeden Tag eine neue Zeile. So zum Beispiel

09.01.2016 - Besucher - 32
10.01.2016 - Besucher - 47
11.01.2016 - Besucher - 43

Ich habe euch zum besseren Verständnis auch nochmal das ursprüngliche Script
angehängt, welches nur die Gesamtbesucher zählt und speichert.
Ich weis, dass es sicherlich bessere Lösungen mit Datenbankanbindung bereits fertig
im Internet gibt aber vielleicht gibt es ja doch eine einfache Möglichkeit das Ganze per Textdatei
zu realisieren.

Grüße Simon

 
<meta http-equiv="refresh" content="1; url=index2.htm" />  

<?php
$datei="seitenaufrufe.txt";  
$stellen = 5;
if(file_exists($datei)){
$fp=fopen($datei,"r+");  
$zahl=fgets($fp,$stellen);
$zahl++;
rewind($fp);
flock($fp,2);
fputs($fp,$zahl,$stellen);
flock($fp,3);
fclose($fp);
}else{
$fp=fopen($datei,"w");  
$zahl="1";  
fputs($fp,$zahl,$stellen);
fclose($fp);
}
$zahl=sprintf("%0".$stellen."d",$zahl);  
?>

Content-Key: 292636

Url: https://administrator.de/contentid/292636

Printed on: April 16, 2024 at 19:04 o'clock

Mitglied: 122990
122990 Jan 09, 2016 at 14:28:34 (UTC)
Goto Top
Gab's schon mal hier
Problem mit PHP Besucherzähler

Gruß grexit
Member: BirdyB
BirdyB Jan 09, 2016 at 14:49:17 (UTC)
Goto Top
Hallo Simon,

einfacher wäre es natürlich, die Werte einfach in eine SQL-Datenbank zu schreiben. Da brauchst du auch nix fertiges aus dem Netz, sondern nur einen (my)SQL-Server, der ja bei fast allen Hostern schon dabei ist und der Rest ist schnell selbst entwickelt...

Beste Grüße

Berthold
Member: Der-Simon
Der-Simon Jan 09, 2016 updated at 15:31:38 (UTC)
Goto Top
Hallo Berthold,

SQL ist nicht das Problem, dass ist in meinem gebuchten Packet enthalten.
So eine .txt Datei basierte Lösung lässt sich nur halt schneller mal irgendwo einbauen
und anpassen.
Das " - Besucher - " vor den Zähler schreiben hätte ich auch noch irgendwie hinbekommen
aber dass es am Ende dann so aussieht UND FUNKTIONIERT,

09.01.2016 - Besucher - 32
10.01.2016 - Besucher - 47
11.01.2016 - Besucher - 43

das bekomme ich dann allerdings doch nicht so wirklich hin.
Entweder verschiebt sich irgendwas oder der Wert wird an der falschen
Stelle erhöht.
Mitglied: 122990
122990 Jan 09, 2016 updated at 16:59:14 (UTC)
Goto Top
das bekomme ich dann allerdings doch nicht so wirklich hin.
Entweder verschiebt sich irgendwas oder der Wert wird an der falschen Stelle erhöht.
Genau dafür steht ja oben im Link schon die perfekte Lösung wenn du unbedingt die Variante "Textdatei" bevorzugst..., wo ist also das Problem ??
Member: wiesi200
wiesi200 Jan 09, 2016 at 16:20:33 (UTC)
Goto Top
Alternativ könnte man auch ne SQLight Datenbank verwenden.

http://php.net/manual/de/function.sqlite-open.php
Member: BirdyB
BirdyB Jan 09, 2016 at 23:25:19 (UTC)
Goto Top
Member: Der-Simon
Der-Simon Jan 10, 2016 at 14:07:23 (UTC)
Goto Top
Vielen Dank für eure Hilfen und Denkanstöße,

mit SQLight habe ich bisher noch keine Erfahrungen gemacht,
daher kenne ich die einzelnen Vor oder Nachteile leider nicht.
Aber die JSON Variante ist vielleicht für das was das Script
leisten soll besser geeignet als eine .txt Datei, ich werd mich damit
auf jeden Fall mal etwas genauer beschäftigen und schauen ob es damit
besser hinhaut.
Ansonsten muss ich das ganze halt doch mit MYSQL realisieren, da gibt es
ja schon viele Dinge die man sich da zur Hilfe und/oder Inspiration nehmen
kann

Grüße Simon
Member: BirdyB
BirdyB Jan 10, 2016 at 16:17:16 (UTC)
Goto Top
Hallo Simon,

json hat den Vorteil, dass du recht einfach an die Daten rankommst um diese zu ändern. Du kannst dir dann ja auch recht einfach noch eine PHP-Funktion basteln, die dir das ganze in der Textform wie gewünscht ausgibt.
Im Endeffekt ist das jedoch einfacher, als die Textdatei zu parsen und zu ändern...

Beste Grüße!


Berthold