Tom: Ich brauche mal ein wenig Inspiration, Datenbankabfrage Cachen

Beitrag lesen

Hello,

Ich bin mir nicht sicher ob ich das jetzt richtig verstanden habe.
Mit file_get_contents() lese ich ja nur, wenn ich die Datei aber mit fopen(), flock(), fwrite() und fclose() anlegen will könnte ja sein das fopen die Datei schon angelegt hat.
file_get_contents() findet schon eine noch leere Datei und wird das Datum auf 0 setzen.
Wie kann ich das umgehen ohne unixdatum nochmal auf Plausibilität zu prüfen und erneut auslesen zu lassen.
Was passiert wenn zwei User gleichzeitig die selbe Datei anlegen wollen? Ich bin ein wenig verwirrt.

Schau die die möglichen Schalter von fopen() an
http://de.php.net/manual/en/function.fopen.php

Der Filemode "xb+" oder der neue Modus "cb+" könnten für dich die richtigen sein. Ob das 'b' wirklich noch notwendig ist, um auch auf Windows sauber zu arbeiten, habe ich noch nicht wieder untersucht. Schaden sollte es mMn aber nicht.

Es gewinnt der User, der bei Verwendung von 'x' schneller ist mit dem Anlegen und bei Verwendung von 'c' schneller ist mit der Benutzung von flock().

Welche Variante die richtige ist, oder ob man noch mehr basteln muss, um konkurrierenden Betrieb abzufedern, ergibt sich erst nach genauerer Analyse der Aufgabenstellung.

Daher solltest Du ja mal die möglichen Zugriffs-Szenarien als Zeitdiagramm darstellen.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de