Counter aus einer Textdatei

Hier wird eine einfacher Counter vorgestellt. In einer Textdatei wird die Anzahl des Seitenaufrufs gespeichert und ausgelesen. Wichtig, die Textdatei, sowie der Ordner braucht den checkmode 777. mehr Info....

Die Seite wurde 2283 -mal aufgerufen. <?php
$zeiger=fopen("counter.txt","r+");
$zaehler=fgets($zeiger,7);
echo $zaehler;
$zaehler++;
rewind($zeiger);
fputs($zeiger,$zaehler);
fclose($zeiger);
?>

fopen()

Zuerst wird die Textdatei geöffnet und zwar mit der Funktion fopen(). Hier haben wir 2 Parameter, den Namen bzw. Pfad der Datei hier counter.txt und den Modus, das heißt ob die Seite nur gelesen werden soll oder ob sie auch im Schreibmodus geöffnet werden soll etc. Es folgen einige mögliche Parameter:

Prameter Erklärung
r read only / nur Lesemodus
r+ read+write / Lese- und Schreibmodus
w write only / nur Schreibmodus der Inhalt wird gelöscht
a append / Anhängemodus

Hier ist alles schön aufgelistet und erklärt http://php.net/fopen
und hier die Funktionen http://www.php4-forum.de/datei_funktionen.htm
FAQ Grundlagen http://www.php-faq.de/ch/ch-open_exec.html
Manual http://de3.php.net/manual/de/ref.filesystem.php

Wir benutzen hier den Lese- und Schreibmodus r+. Das Lesen und Schreiben beginnt beim Dateianfang. Das Ganze wurde in der Varibalen $zeiger hinterlegt, damit man damit arbeiten kann. Die Variable wirkt also wie ein Zeiger, wobei der Cursor sich nun am Anfang der Datei befindet.

fgets()

Die Datei ist zwar geöffnet, aber nun muß sie noch eingelesen werden und zwar mit fgets() Hiermit wird eine Zeile bis zur, im zweiten Parameter angegebenen, Byte Anzahl gelesen. Ist die Zeile länger wird der Rest ignoriert. In unserem Fall endet der Lesevorgann wenn 7 Bytes erreicht sind. Wäre die Zahl oder Text länger, würde der Rest ignoriert. Hier würde eine 8stellige Zahl nicht korrekt angezeigt.
Die Zahl wird also in der Variablen $zaehler abgelegt und in der nächsten Zeile mittels echo angezeigt. Anschließend wird sie mittels ++ um eins erhöht, man könnte auch schreiben $zaehler =$zaehler + 1. Kommt es beim Lesen der Datei zu einem Fehler, so wird von fgets() false zurückgeliefert.

rewind()

Unser Cursor befindet sich nun am Ende der Datei, um wieder zum Anfang zu gelangen wird die Funktion rewind() benötigt.

fputs()

mit fputs() wird der Wert der Variablen $zaehler in die geöffnete Datei $zeiger geschrieben. Da wir uns im Lese- Schreibmodus befinden, wird der alte Inhalt überschrieben.

fclose()

hiermit wird die Datei wieder geschlossen.


Übersicht


Webdesign / PHP / mySQL / Dreamweaver MX Tipps
Copyright © Michael Albers
www.pastorpixel.de
www.pastorpixel.de PHP mySQL Tipps