Zu 1: Als erstes wird in der Variable $filename Dateiname und falls sich die Datei nicht im selben Verzeichniss befindet der Pfad gespeichert. Name sowie Endung sind dabei frei wählbar. Die Datei muss den Startwert 0 enthalten.PHP-Code:<?php
$filename = "counter.txt"; //(1)
$counterfile = @fopen ($filename , "r");
if ($counterfile <= 0) {
echo "Counter not available";
exit;
}
else {
$counter = fgets($counterfile);
fclose($counterfile);
//(2)
}
++$counter;
echo "Sie sind Besucher Nummer: " , $counter;
//(3)
$counterfile = @fopen ($filename , "w");
flock ($counterfile, "2");
fputs ($counterfile, $counter);
flock ($counterfile, "3");
fclose ($counterfile);
?>
Nun wird die Datei geöffnet. Treffen die Bedingungen der if-Schleife nicht zu, wird eine Fehlermeldung ausgegeben. Ansonsten wird der Inhalt der Datei ausgelesen. Dies geschieht mit fgets. Datei wird nun erstmal wieder geschlossen.
Zu 2: Die Variable $content wird um 1 erhöht, (Logisch, du bist ja ein Besucher) und anschliessend mit echo() ausgegeben.
Zu 3: Die Zähler-Datei wird abermals geöffnet, diesmal im write Modus und mit den neuen Werten überschrieben.
Die Funktion flock verhindert, dass eine andere Instanz des Scripts darauf zugreift, bis sie aktualisiert wurde.
flock kann vier Operationen ausführen:
1 - für alle lesbar aber nicht veränderbar
2 - für keine andere Instanz lesbar oder änderbar
3 - eine Sperre aufheben
4 - Zugriffe während der Sperre erlauben.
Ich hoffe, dass ich mein Script ausführlich erklärt habe!
mfg GaFleX

LinkBack URL
About LinkBacks

Zitieren
) und anschliessend mit echo() ausgegeben.