Hallo Forum,
ich kämpfe gerade mit einem Script, daß via fopen() eine externe URL öffnet und regelmäßig "hängt", da die Quelle nicht oder nicht schnell genug antwortet.
Zwar frage ich den Zielhost vorher mit fsockopen() ab, mein Problem ist aber, daß ich den Port zügig öffnen kann (Verbindung ist Ok), die Gegenstelle dann aber keine Daten sendet, weil der Server überlastet ist.
Kann mir jemand einen Tipp geben, wie ich in das folgende Beispiel einen Timeout für fopen() integrieren kann?
ich kämpfe gerade mit einem Script, daß via fopen() eine externe URL öffnet und regelmäßig "hängt", da die Quelle nicht oder nicht schnell genug antwortet.
Zwar frage ich den Zielhost vorher mit fsockopen() ab, mein Problem ist aber, daß ich den Port zügig öffnen kann (Verbindung ist Ok), die Gegenstelle dann aber keine Daten sendet, weil der Server überlastet ist.
Kann mir jemand einen Tipp geben, wie ich in das folgende Beispiel einen Timeout für fopen() integrieren kann?
PHP-Code:
<?
if ( @fsockopen("www.hostname.de", 80, $errno, $errstr, 5) {
$source = "http://www.hostname.de";
$fp = @fopen ($source, "r");
print $data = @fread($fp,2048);
fclose($fp);
}
?>
Kommentar