flock() - Zugriffsmodus im Handle ändern?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • flock() - Zugriffsmodus im Handle ändern?

    Gibt es eine Möglichkeit den Zugriffsmodus innerhalb eines Handles noch zu ändern? (Nachdem mit fopen() ein Modus festgelegt wurde.)

  • #2
    Es gibt keine Funktion dafür und ich wüßte nicht wie man es anstellen sollte. Weiß aber auch nicht, wozu man sowas brauchen könnte - was hast du denn vor?

    Kommentar


    • #3
      Bin gerade dabei flock für mein Vorhaben anzupassen...
      Habs jetzt anders gelöst. Weiß jemand warum die Datei auch bei gesperrtem Modus unter Windows writeable ist?

      EDIT: Hat jemand eine Idee, warum die Datei auch im gelockten Modus writeable ist!?

      PHP-Code:
      $file    "counter.txt";

      if(
      is_writable($file) === true)
      {
          
      // Status Cache löschen
          
      clearstatcache();
          
          
      $old    file_get_contents($file)+1;
          
          
      $fp    fopen($file"w+");
          
      flock($fpLOCK_EX LOCK_NB);
          
      fputs($fp$old);
          
          
      // Test
          
      sleep(4);
          
          
      flock($fpLOCK_UN);

      Zuletzt geändert von ; 08.06.2006, 14:41.

      Kommentar


      • #4
        Unter Windows ist das so eine Sache ... siehe Warning zu flock()

        Kommentar


        • #5
          Danke. Habe es jetzt auf dem Server versucht (Debian) und auch dort geht es nicht. Ist es normal, dass gesperrte Daten mit is_writeable true zurückgeben oder könnte auf den Server selbige Warnung zutreffen?

          Kommentar


          • #6
            Vermutlich prüft is_writable() nur die Permissions, die durch ein flock() ja nicht verändert werden.

            Kommentar


            • #7
              Naja gut danke.

              Dann muss ich erst einmal mit Modus a+ öffnen und prüfen, ob Lock gesetzt werden kann.
              Und dann schließen und wenns geht mit w+ öffnen und schreiben, obwohl dadurch die Chance eines Crashes ja immer noch besteht.

              Falls jemand noch eine tolle Idee hat, bin ich dafür jederzeit offen.

              Danke für deine Hilfe

              Kommentar

              Lädt...
              X