phpbar.de logo

Mailinglisten-Archive

[php] exklusiver Zugriff auf Dateien

[php] exklusiver Zugriff auf Dateien

ROHNER, TOBIAS TRO_(at)_HUD.DE
Fri, 10 Sep 1999 14:09:14 +0200


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