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:
function get_data($url) { $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch); return $data; }
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).