Mailinglisten-Archive |
Wie kann ich den Zugriff auf eine Datei auf denjenigen beschränken, der sie gerade geöffnet hat? Ich versuche krampfhaft einen Counter zu schreiben, der ca. 2000-3000 Zugriffe am Tag verwalten muß. Es gibt jedoch Diskrepanzen wenn mehrere User gleichzeitig auf ein File zugreifen; in diesem Fall ist das die counter.txt. Beispiel: <? $counterFile = "counter.txt"; function displayCounter($counterFile) { $fp = fopen($counterFile,"r"); $num = fgets($fp,11); fclose($fp); $num++; printf ("$num"); $fp = fopen($counterFile,"r+"); fputs($fp,$num); fclose($fp); } displayCounter($counterFile); ?> Die User verfälschen das Ergebnis, wenn die counter.txt von einem zweiten User ausgelesen wird bevor der erste User das korrekte Ergebnis schreiben konnte (beide User benutzen dann nämlich den selben Wert!). Gibt es irgendwelche Möglichkeiten das zu verhindern? Gruß Tobias R.
php::bar PHP Wiki - Listenarchive