Prüfen ob PHP-Script aufgeführt wird

Guten Tag,

Ich habe folgende Frage an euch:
Wie kann ich Prüfen, ob PHP-Script aufgeführt wird?
Ich habe ein Script, was eine Datei als Download an den Browser schickt. Dieses Script kann jedoch nur einmal gleichzeitig gestartet werden. Jetzt soll die Seite, die auf das Download-Script verlinkt erkennen, ob es schon ausgeführt wird und eine Meldung anzeigen im Stil (Keine freien Slots).
Bitte keine Lösungen mit einer Platzhalterdatei, bei der geprüft wird, ob sie existiert.

Vielen Dank!

Mit freundlichen Grüßen,

denkenreden

Achso: Es wäre schön, wenn die Lösung auch ohne shell() etc. auskommt. Danke!

Hallo,

Sorry, da kann ich leider nicht weiterhelfen.

Gruß, Gerd Brünig

Kein Problem :wink:

Sorry, da kann ich leider nicht weiterhelfen…

Kein Problem :wink:

Sorry, da kann ich leider nicht weiterhelfen…

Guten Tag
Du kannst dies zum Beispiel im Firefox mit Firebug prüfen oder du machst dir ein kleines Script mit einer if/else Abfrage…

Also bei der anderen Frage komme ich nicht ganz mit…
Meinst du etwa eine Upload Funktion so wie man sie auf den Websites verwendet?

Wenn ja, willst du mehrere Dateien hochladen oder eine bestätigung, dass die Datei korrekt hochgeladen wurde?

Liebe Grüsse
Sandraia

Hallo Sandraia!

Ich meine es so:
Ich habe eine Datei (D1), auf die man als Besucher der Seite zugreift. Auf dieser Seite ist ein Javascript, was den Benutzer nach 3 Sekunden auf eine weitere Datei (D2) weiterleitet. Dieses Script(D2) liest eine Datei aus und sendet diese an den Browser -> kurz: es ist ein Downloadscript. Solange ein Benutzer auf dieses Script(D2) zugreift, kann diese Datei nicht geladen werden (Warte-Cursor).

Nun meine Frage:
->Wie kann ich meinem Script(D1) sagen, dass es überprüfen soll, ob bereits jemand auf die Datei(D2) zugreift und falls das so ist ein echo ausgiebt „Kein freier Slot“?

Mit freundlichen Grüßen,

denkenreden

Guten Morgen denkenreden

Dies kannst du mit einer aktuellen Session oder besser gesagt mit einem Request-Token umsetzen.
Der Token ist nur einmalig auszuführen was heisst, dass sobald wer den Download startet, wird überprüft ob bereits ein solchen Token besteht:

Wenn nein - kann der Download gestartet werden und es wird dieser Token (einmalige Session-ID) in der Datenbank gespeichert bis dieser Download wieder beendet wurde. Dannach wird der Eintrag wieder aus der DB entfernt.

Wenn ja - wird ausgegebn das dieser Slot im Moment besetzt ist - beim Downloadstart wird dann wieder ein neuer generiert.

Dies wäre eine Möglichkeit das ganze umsetzen…

Lg Sandraia

Hi!
Entschuldige bitte, dass die Antwort erst jetzt kommt. Ich habe es leider erst jetzt bemerkt. :frowning:

Schau dir mal das Singleton-Pattern an.
Dann erzeugst du dir ein Objekt, das immer das selbe ist. Hierin kannst du speichern, wieviele Slots verfügbar sind. Vor dem Ausliefern ist der Wert der Variable z.B. 1,
beim Ausliefern 0 und danach wieder 1. Somit kannst du beliebig viele Slots realisieren, wenn du die Variable zum entsprechenden Zeitpunkt immer um 1 de- bzw. inkrementierst.

Hey, danke!

-)

denkenreden