Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie zawartości strony - timeout dla połączenia
Forum PHP.pl > Forum > PHP
IceManSpy
Cześć

Mam dość czasochlonny projekt na zajęcia - moje zadanie to pobrać dane ze stron, które mam wylistowane w pliku txt.
Do tego celu używam file_get_contents. Wszystko fajnie, ale czasem skrypt się zacina i nie mam pojęcia czemu. Może jest to związane z timeout serwera, z którego chcę pobrać dane.

Jako że file_get_contents nie umożliwia ustawienia timeout, to szukam innego rozwiązania. Stawiam na fsockopen albo cURL:
  1. function get_data($url) {
  2. $ch = curl_init();
  3. $timeout = 5;
  4. curl_setopt($ch, CURLOPT_URL, $url);
  5. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  6. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  7. $data = curl_exec($ch);
  8. curl_close($ch);
  9. return $data;
  10. }


Które rozwiązanie będzie lepsze? Chce aby po braku odp. po 10 sekundach skrypt ominął link i leciał dalej. Oczywiście czas dla skruptu mam ustawiony na nieskończony (choć chyba dla bezpieczeństwa ustawię jakieś 5 godzin).
matiit
Nie wystarczy takie coś:
  1. ini_set('default_socket_timeout', 120);
  2. $a = file_get_contents("http://abcxyz.com");
?
IceManSpy
To także pomogło, ale główna przyczyna była inna. Brakowało jednego warunku w pętli wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.