URL: https://www.overclockers.at/coding-stuff/counter_51020/page_2 - zur Vollversion wechseln!
ahh.. hat sich erledigt - sehe gerade, php hat wrapper-funktionen für die libc funktionen wie flock(), semget() usw..
Noch eine einfache Lösung von mir:
$file = 'daten/counter.txt';
$fp = fopen($file, "r") or die("Counter-File defekt");
$counter = fgets($fp, 1024);
fclose($fp);
if (!$PHPSESSID) {
$counter = $counter + 1;
$fp = fopen($file, "w") or die("Counter-File defekt beim Schreiben");
flock($fp, 2);
fputs($fp, $counter);
flock($fp, 3);
fclose($fp);
} }
ups sorry, hab was vergessen:
Die erste Zeile auf deiner Seite muß
<?php session_start(); ?>
beinhalten. Ganz wichtig: wirklich in die 1. Zeile schreiben!!
@Atrox: Wie gesagt, den Counter hab ich schnell und ohne viel zu überlegen "hingfetzt". Deshalb auch nix mit Filelocking (weil ich immer die Syntax vergess und zu faul zum nachschaun war) und nix mit Reloadsperre.
War auch mehr als Denkanstoss gedacht und ist alles andere als die perfekte Lösung
Dafür is sie halt extrem einfach.
blöde frage: warum verwendest eigentlich nicht mysql?
Meinst du mich? mySQL wär ja kein Problem, nur es hat halt noch nicht jeder Webspace (vor allem die gratisprovider) mySQL.
hab eigentlich atrox gemeint... naja - bei nem freespace können die meistens ja auch keinen chmod machen 
Glücklich ist jener der wen mit nem eignen Webserver kennt 
Also ich hab bei meinen Countern eine MySQL Tabelle in der eingetragen wird. Das Script hab ich mal irgendwo herkopiert, ich glaub von PHP-Homepage es aber etwas geändert.
Jetzt wird die IP bzw der Rechnername wenn vorhanden mitgeloggt, außerdem die Besuchszeit. Wenns schon einen Besucher mit der IP gab wird in der entsprechenden Zeile einfach eins hochgezählt und die Zeit überschrieben (damit steht immer der letzte Besuch in der Tabelle). Neue IPs oder Rechnernamen werden einfach dazugefügt.
Außerdem logge ich in einer zweiten Tabelle den Referer, also woher der Besucher kommt, leider is das bei 2nd Level Domains mit Weiterleitung ein Problem weil man nur die eigene Adresse sieht.
Reload-Sperre wollt ich schon ewig mal einbauen aber ich bin zu faul dafür, außerdem überleg ich mir was wie ich meine eigenen Besuche (meistens für irgenwelche Tests wenn ich etwas ändere) rausfiltern kann. Zukünfig werd ich eh ne fixe IP haben da wird es einfacher.
Ein Textfile ist sicher nett, aber mit MySQL kann man etwas mehr machen, Statistiken einfacher generieren...
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026