Mailinglisten-Archive |
"ROHNER, TOBIAS" wrote: > > 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. Eine Möglichkeit ist, bevor Du die Counter-Datendatei öffnest, die Existenz einer anderen Datei zu prüfen. Wenn es die (z.B. counter_lock) nicht gibt, legst Du sie an und öffnest dann die andere Datei. Wenn Du die Counterdaten geschrieben hast, entfernst Du counter_lock wieder. Nur wenn counter_lock nicht vorhanden ist, darf also Zugriff auf die Counterdaten hergestellt werden. Was nun passiert, wenn man gerade nicht in den Counter schreiben kann, bleibt Dir überlassen. Du kannst zum Beispiel ein kurzes sleep() einfügen und dann das ganze nochmal versuchen. Marian
php::bar PHP Wiki - Listenarchive