Counter mit Textdatei

Wir zeigen euch wie ihr euren eigenen Text-Counter mit PHP erstellen könnt.

Zuerst mal das Theoretische: Wir wollen einen Counter der bei jedem Klick bzw. Seitenaufruf zählt. Da wir keine Datenbank haben, benutzen wir Textdateien. Da dies ein einfacher Counter werden soll, machen wir das mal ohne die IP zu speichern.

Zum Praktischen: Wir erstellen eine Datei counter.php mit folgendem Inhalt:

<?php
$datei = fopen('counter.txt', 'r+');
$counter = fgets($datei, 10);
if (empty($counter)) {
$counter = 0;
}
$counter++;

echo $counter;

rewind($datei);
fwrite($datei, $counter);
fclose($datei);
?>

Wir übergeben darin der Variabel $datei den Wert, der in einer anderen Datei namens counter.txt steht. Das machen wir mit der Funktion fopen. Das r+ bedeutet soviel wie „lesen und schreiben am Anfang der Datei“. Es gibt noch andere Arten, eine Datei zu lesen und zu schreiben, das wird aber in einem anderen Tutorial hier eh beschrieben.

Danach verwenden wir die Funktion fgets. Mit dieser holen wir zehn Zeichen aus der Datei und speichern sie in der $counter Variabel. man kann natürlich auch mehr als 10 Zeichen nehmen, nur wir nehmen nicht an, dass der Wert schnell über zehn Millionen sein wird ;-P

Danach prüfen wir mit empty ob die $counter leer ist, also ob in der Datei gar nichts drin steht. Sollte dies der Fall sein, weißen wir der $counter den Wert 0 zu.

Mit $counter++; erhöhen wir den Wert der $counter um eins. Das Doppel-Plus ist eine Kurzschreibweise um den Wert einer Variabel um eins hoch zu zählen. Danach geben wir den aktuellen Stand der $counter mittels echo aus.

Mit rewind($datei); wird der Dateizeiger (der nun am Ende der Datei steht) wieder auf den Anfang zurückgesetzt. Danach schreiben wir den neuen Wert mit fwrite in die Datei und mit fclose schließen wir die Datei wieder.

Kommentare

hufj
hufj am Samstag, 20. September 2003 um 20:36

jo ist zwar geil aber ne reload sperre ist nicht drin ....