Bezüglich der erweiterten Verwendung von file_get_contents lösen Sie zunächst das Timeout-Problem von file_get_contents. Nachdem das Timeout einen Fehler zurückgegeben hat, versuchen Sie es mit settimeout in js. Nach mehr als 3 oder 5 Fehlern wird bestätigt, dass der Server lässt sich nicht ganz aufgeben.
Hier sind zwei einfache Lösungen:
1. Erhöhen Sie das Zeitlimit für Timeout
Hinweis: set_time_limit ist nur Set das Timeout für Ihr PHP-Programm, nicht das Timeout für die Funktion file_get_contents zum Lesen der URL.
Ich dachte zunächst, dass set_time_limit auch file_get_contents beeinflussen könnte, aber nach dem Testen war es ungültig. Um die Verzögerung von file_get_contents wirklich zu ändern, können Sie den Timeout-Parameter der Ressource $context verwenden:
Der PHP-Programmcode lautet wie folgt:
$opts = array( 'http'=>array( 'method'=>"GET", 'timeout'=>60, ) ); $context = stream_context_create($opts); $html =file_get_contents('http://www.php.cn', false, $context); fpassthru($fp);
2. Weitere Versuche
Der PHP-Programmcode lautet wie folgt:
$cnt=0; while($cnt < 3 && ($str=@file_get_contents('http...'))===FALSE){ $cnt++; }
Die obige Methode ist in Ordnung Auszeiten. Als nächstes demonstrieren wir die Verwendung von file_get_contents zum Implementieren von Post wie folgt:
PHP-Programmcode
function Post($url, $post = null){ $context = array(); if (is_array($post)) { ksort($post); $context['http'] = array ( 'timeout'=>60, 'method' => 'POST', 'content' => http_build_query($post, '', '&'), ); } return file_get_contents($url, false, stream_context_create($context)); } $data = array ( 'name' => 'test', 'email' => 'test@gmail.com', 'submit' => 'submit', ); echo Post('http://www.php.cn', $data);
Achten Sie auf Set_time_out im Dokumentheader, andernfalls Das gesamte Dokument läuft ab.
Verwandte Empfehlungen:
Detaillierte Erklärung des Unterschieds zwischen PHP fopen() und file_get_contents()
CURL ist besser als file_get_contents() in PHP Ausführliche Erläuterung von Beispielen
10 empfohlene Artikel zu file_get_contents
Das obige ist der detaillierte Inhalt vonErweiterte Nutzungsfreigabe von file_get_contents. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!