Ankündigung

Einklappen
Keine Ankündigung bisher.

Datei nur einmal gleichzeitig aufrufen

Einklappen

Neue Werbung 2019

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

  • Datei nur einmal gleichzeitig aufrufen

    Hallo,
    ist es möglich per PHP den Zugriff auf die Datei für eine bestimmte Zeit, z.B. 1 Minute zu sperren?

    Ich habe ein vorhandenes PHP-Script, welches aber nur maximal 1 x pro Minute aufgerufen werden darf. Ich habe es schon versucht mit: aktuelle Zeit in eine Datei schreiben und die Datei vor jedem Aufruf einmal auslesen und die Zeit vergleichen, das funktioniert aber nicht richtig, denn das Script wird teilweise doch noch doppelt aufgerufen.

  • #2
    habe da mal irgendwas drüber gelesen, ist aber länger her und ich finds grad nicht...

    Als Ansatz, ich glaube das funktionierte irgendwie mit einem flag oder so, aber hier weiß bestimmt jemand besser bescheid.

    Ist es denn immer das selbe script was auf die Datei zugreift? Wie wäre es denn im einer extra datei den zugriff zu loggen und beim beenden wieder "auszuloggen" und vor dem überprüfen die datei checken?

    Kommentar


    • #3
      Warum funktioniert das mit dem Zeitstempel nicht ?
      Du prüfst ob für die Datei schon ein Zeitstempel existiert. Wenn nein, dann wurde auf die Datei noch nicht zugegriffen und sie ist "frei". Wenn einer vorhanden ist, prüfst Du, ob die DIffernez zur aktuellen Zeit groß genug ist, wenn ja -> Zugriff gestattet, Zeitstempel in der Logdatei aktualisieren.

      Es muss darauf geachtet werden, dass der Eintrag in die Datenbank / Logdatei VOR dem Zugriff geschieht, denn sonst könnten 2 Skripte gleichzeitig zugreifen, da ja in dem Moment noch nichts gespeert ist.Ausserdem Sollte pro Dtaei nur 1 Eintrag existieren, der dann immer aktualisiert wird.

      Wenn Du den Zugriff wirklich unterbinden willst, kannst du die Datei auch direkt nach dem Zugriff in ein anderes Verzeichniss kopieren oder umbennen, so dass der Zugriff gar nicht mehr möglich ist. Dann müsste entweder bei korrekt abgelaufenem Zeitstempel die Dtaei wieder zurückbenannt werden oder du lässt das , wenn du die Möglichkeit hast, per cronjob erledigen.

      Kommentar

      Lädt...
      X