Aktion nach Timelimit erneut startet

steyrblade

Mitglied
Tach auch.

Ich habe eine Seite, die sich ihre Daten durch einen HTTP Befehl
file_get_contents($url)
läd.
Diese Seite, die mir die Daten liefert, wird durch ein Java Tool generiert.
Nun kömmt es des öffteren vor, dass diese Seite nicht reagiert.
Die Ursache ist mir bisher unbekannt. Beim erneuten Aufruf kommen wieder Daten an.

Ich suche nun eine Möglichkeit, wenn ein definierter Timeout überschritten wird, die Seite erneut einzulesen.
Ist das vllt set_time_limit() irgendwie möglich?


if(set_time_limit(5)==true){mach irgendwas} nur das set_time_limit(5) leider eine Fehlermeldung und kein true oder false ausgibt.
Bzw. ist das ja so wie es dort steht eigentlich mist. Das set_time_limit müsste vor dem if stehen, da das Timelimit zuvor gestartet werden muss.

Vllt kennt sich ja jemand damit aus. Danke schon mal ;)
 
Du kannst ja überprüfen ob dir file_get_contents() einen String zurückliefert und wenn nicht führst du die Anfrage so lange durch bis dies der Fall ist.
 
Die Sache ist ja die, das nicht nichts zurückgeliefert wird, sondern das er darauf wartet das etwas ankommt. D. h. file_get_contents($url) wartet wohl bis die einzulesende Seite vollständig geladen ist. Da dies aber in diesem Fall nicht passiert, bleibt es dabei hängen und wartet endlos. Deshalb würde ich das dann gerne nach einer best. Zeit abbrechen und erneut starten
 
Könnte mir bitte zu dem Thema weiterhelfen.
Ich weiss, selbst posten um wieder nach oben zu kommen ist nicht schön.
Habe aber extra 3 Wochen gewartet damit.
 
In dem Falle arbeitest du besser mit der fsockopen()-Funktion, der auch ein Zeitlimit mitgegeben werden kann. Dort muss allerdings im Gegensatz zur file_get_contents()-Funktion die HTTP-Anfrage selbst geschrieben werden. Es gibt allerdings schon fertige Funktionen und Klassen, die dies übernehmen.
 
Zurück