Hi christoph,
ich schreibe gerade ein Script zum Textdateien ändern.
Mein Frage: Wenn ich flock($file, LOCK_EX); angebe und NICHT wieder freigebe, wie lange bleibt diese Datei gesperrt?
Soweit ich weiß, bis dein PHP Script abgearbeitet wird - alles andere wäre ja sinnlos.
Weil sobald ich diese Datei in Formularfelder öffnen lassen soll/darf kein anderer mehr diese Datei ändern, erst wenn ich diese bearbeitet habe.
Da wirst du wohl dir selber ein System basteln müssen. Eine Möglichkeit wäre, dass du noch mit filemtime() (oder so ähnlich hieß das) den Zeitpunkt herrausfindest, zu dem die Datei zuletzt geändert wurde.
Wenn du diesen Wert noch in ein Hidden-Feld mit hineinschreibst, bekommst du ihn auch wieder zugeschickt, wenn der User die bearbeitete Datei wieder speichern will.
Dann kannst du überprüfen, ob der User den gleichen Timestamp dir zugeschickt hat, wie dir filemtime() zurückgibt. Ist dies der FAll, so wurde die Datei zwischenzeitlich nicht geändert.
So, hab grad die Funktion doch noch mal kurz nachgeschlagen - filemtime() ;-)
Habe noch eine Frage, kann diese trotzem mit "r-" und fgets ausgelesen werden?
Wenn du sie mit LOCK_EX geschützt hast, sollte für diesen Zeitpunkt ein auslesen für andere nicht mehr möglich sein. Das aber dieses Lockinig von PHP unter Umständen nicht immer richtig funktioniert (jeh nach Implementierung von PHP bzw. Hardware des Rechners), dazu solltest du im Archiv auch noch etliches finden.
MfG, Dennis.
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Irre gehören ins Showgeschäft, sost müsste ich da nicht sein. (Dieter Bohlen)