Mailinglisten-Archive |
Am Fre, 04 Aug 2000 schrieben Sie: > Habe eine Datei, auf welche von zwei Scripten aus zugegriffen wird. > Daraus ergibt sich das Problem, dass manchmal der Lesezugriff des > einen Scriptes genau zu dem Zeitpunkt stattfindet, wenn das andere Script > die Datei neuschreibt. > > kann es sein, dass der Apache (bzw php) bei einem (Über-)schreibversuch > die Datei zuerst leert, dann eventuell einen Lesezugriff zulässt, und dann > den neuen Inhalt in die Datei schreibt, aber keinen Lesezugriff zulässt > solange > mit einer while-Schleife in die Datei geschrieben wird? > > denn wenn ich die Datei einlesen will ist entweder gar kein Inhalt > vorhanden, > oder die Datei ist vollständig, aber sie ist niemals nur teilweise > vorhanden. es kann zu einem verlust der daten fuehren. das beste ist, du erzeugst eine lock datei (z.b. wurstbrot.lock), diese erzeugst du zu beginn, wenn du schriebst, am ende loeschst du sie wieder. und bevor du anfaengst zu schreiben pruefst du einfach ab, ob diese datei existiert, (kannst du auch inner while schleife machen...) und wenn sie weg ist, gehts weiter.... so kannst du erstmal verhindern, das 2 prozesse gleichzeitig in die datei schreiben und die damit verbundenen probleme umgehen. gruss thomas -- ----------------------------------------------------------------- InUBIT - your e-business partner! http://www.inubit.com http://tfromm.com mailto:tf_(at)_inubit.com "go away or I will replace you with a small php script."
php::bar PHP Wiki - Listenarchive