Hello,
<?php
$cfile = "count.txt"; // Zaehldatei #ok
if(!file_exists($cfile))
$fh = fopen($cfile,'a'); # Datei neu anlegen oder zum Anhängen öffen
if (!$fh)
{
exit; # oder eben einfach nicht zählen...
}
fclose($fh); # Dummy-Handle wieder zurückgeben.
$fh = fopen($cfile, 'rb+'); # Datei binär zum Lesen und Schreiben öffnen
$fh = fopen($cfile, "r") or die("Konnte Zählerdatei nicht öffnen!");
if (!flock($fh, LOCK_EX))
{
fclose($fh);
exit; # oder eben wieder einfach nicht zählen
}
$count = intval(fgets($fp, 1024));
fclose($fp); // Datei wieder schließen # nein, keinesfalls das Handle weggeben!
session_start(); // Session starten (Reloadsperre)
#if(!$PHPSESSID) // bei neuer Session erhöhen # ob das wirklich funktioniert?
# siehe 'register_globals' im Archiv
$sname = session_name();
if (empty($_COOKIE[$sname]) and empty($_POST[$sname]) and emtpy $_GET[$sname]))
$count++;
$fp = fopen($cfile, "w") or die("Konnte Zählerdatei nicht öffnen!"); # ist schon offen
fseek($fh, 0, SEEK_SET); # Dateizeiger auf Anfang
fputs($fh, $count);
ftruncate($fh,strlen($count)); # Dateilänge anpassen. Wenn immer nur erhöht wird, kann das entfallen
fclose($fp);
print("$count");
?>
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau