Sprawdzanie filmu na youtube - file_get_contents timeout

0

Witam. Chcę zrobić na stronie w postach wyświetlanie zdjęcia ("tła") filmu z youtube (jeśli w poście dodano link do takiego filmu na yt) - Tak jak na facebooku. Przy wyświetlaniu postów w php sprawdzam czy istnieje film o takim id na youtube przez file_get_contents. Przy większej ilości postów wywala mi timeouta na stronie - można było się tego spodziewać. Nie wiem jak mógłbym zrobić to inaczej - sprawdzanie czy film istnieje na pewno odpada za każdym razem przy wyświetlaniu postu, lepiej chyba będzie przy dodawaniu postu, ale nie wiem w jaki sposób sprawdzać czy istnieje ten film. file_get_contents może i tak wywalić timeouta i wtedy user zrobi wielkie gały. Ajax raczej odpada bo po dodaniu posta, wyświetla od razu listę pozostałych postów i nie zdąży sprawdzić. Może cURL o ile da się ustawić jakiś maksymalny czas requesta by user nie musiał czekać w najgorszym wypadku tych 30 sekund.

Proszę o sugestie.

0

Jak Ci timeouty robi to może youtube zakłada Ci bana, jak mu zakładasz kilkaset requestów w 2 sekundy ;)

Takie sprawdzenie rób przy dodawaniu posta - jeżeli się nie powiedzie - trudno, zapisz ten fakt do bazy do zadań "na później" - post będzie bez tła, a w międzyczasie w jakimś zadaniu cron będziesz próbował pobierać jeszcze raz to, co się nie udało.

Przy file_get_contents też można ustawić timeout - dokumentacja zaprasza w swoje skromne progi.

0

próbowałem już taki kod, ale request nadal trwał dłużej niż ten ustawiony timeout

$ctx = stream_context_create(array(
    'http' => array(
        'timeout' => 5
        )
    )
);
file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?origins=Warszawa+Polska&destinations=Lublin+Polska", false, $ctx);
0

to popróbuj cURL-em

(ale dziwi mnie, że ten adres nie otwiera Ci się w ułamku sekundy)

1 użytkowników online, w tym zalogowanych: 0, gości: 1