file_exists() und file_get_contents() atomar verwenden

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • file_exists() und file_get_contents() atomar verwenden

    Der Titel sagt je eigentlich schon alles. Ich hab Dateien die dynamisch erstellt und gelöscht werden. Und aller paar 100.000 Aufrufe fällt ein unlink() genau zwischen file_exists() und file_get_contents(). Ich könnte es zwar mit @ unterdrücken, da sowohl eine nicht existieren als auch ein nicht mehr existierende Datei 'nen leeren String zurück gibt, aber das sagt mir eigentlich nicht zu.

    Jemand 'ne Idee zur Lösung dieses Problems?
    Team BashComp

  • #2
    flock()?

    Comment


    • #3
      Kapier ich net.
      Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

      Comment


      • #5
        Original geschrieben von penizillin
        flock()?
        war auch meine erste idee, aber verlagert das problem nur zu:

        file_exists
        fopen + flock

        also besteht das problem nach wie vor.

        Comment


        • #6
          Und was macht flock mit meinen unlink()? Der Hilfe ist nicht wirklich zu entnehmen wie das arbeitet. Wenn es nur alle anderen Zugriffe blockt, hilft es ja nicht weiter.


          All zu weit kann ich ja nicht ausholen was jetzt Sperren angeht, da ich ja kein Verbindung zw. den beiden php-Instanzen habe.

          Übrigens: Wikipedia darf man bei den Sperren nicht vertrauen. Es gab mal ein Prüfungsaufgaben bei uns in der es hieß: "Dieser Code stammt aus Wikipedia. Warum funktioniert diese Sperre nicht!"
          Team BashComp

          Comment


          • #7
            Schonmal jemand damit gearbeitet:
            http://www.php.net/manual/de/ref.sem.php
            Team BashComp

            Comment


            • #8
              das wäre mein zweiter vorschlag.

              allerdings würde ich schauen und testen, in wie fern flock() mit unset arbeiten kann.

              Comment

              Working...
              X