Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie zawartości strony - timeout dla połączenia
IceManSpy
post
Post #1





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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).


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
matiit
post
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


Nie wystarczy takie coś:
  1. ini_set('default_socket_timeout', 120);
  2. $a = file_get_contents("http://abcxyz.com");
?
Go to the top of the page
+Quote Post
IceManSpy
post
Post #3





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


To także pomogło, ale główna przyczyna była inna. Brakowało jednego warunku w pętli wink.gif


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:32