Wie waer's mit:
PHP:
<?php
if(filexists("./counter.php")) {
include './counter.php';
$counter++;
$handle = fopen("./counter.php","w");
fwrite($handle, "<?php \$counter = " . $counter . "; ?>");
fclose($handle);
} else {
$counter = 1;
$handle = fopen("./counter.php","w");
fwrite($handle, "<?php \$counter = 1; ?>");
fclose($handle);
}
?>
<body>
<h2>Guten Tag,</h2>
Diese Seite wurde jetzt zum <?php echo $counter; ?>. Mal aufgerufen.
</body>
Der erste Besucher kommt:
- else-Fall tritt ein, weil Datei nicht existiert
- Counter wird auf 1 gesetzt
- Wert 1 wird in Datei geschrieben
- es wird korrekt ausgegeben, dass der Besucher der erste ist
Der zweite Besucher kommt
- if-Fall tritt ein, Datei existiert
- Datei wird inkludiert, Variable "$counter" hat Wert 1
- Counter wird um 1 erhoeht, hat Wert 2
- Counter wird in Datei geschrieben
- es wird korrekt ausgegeben, dass der Besucher der zweite ist
usw.
Der Vorteil ist, dass in "unendlich minus einem" Fall die Datei bereits existiert und der Parser die else-Befehle ignorieren kann, da if() TRUE zurueckgibt. Spart Rechenzeit. Hach, scripten macht Spass