Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]file_get_contents() zwalnia stronę?
Forum PHP.pl > Forum > Przedszkole
Dapi
Witam.
Na swojej stronie chcę skorzystać z api pewnego serwisu.
Pobieram dane z XML'a, poczym nanoszę je na mapkę.
Operację wykonuję 16 razy (dla 16 miast).
Przykładowy kod dla Warszawy wygląda tak:

  1. $warszawa = file_get_contents('http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=Warszawa');
  2. preg_match('/<temp_c>([^<]*)<\/temp_c>/', $warszawa, $t);
  3. preg_match('/<icon>([^<]*)<\/icon>/', $warszawa, $p);
  4. $parse['warszawa_t'] = $t[1];
  5. $parse['warszawa_p'] = $p[1];

(Pobierana przez file_get_contents() strona waży w/g FireFoxa 3,84 KB)

Niestety strasznie wydłuża mi to czas wczytywania strony.
Da się coś z tym zrobić?
erix
Zmniejsz sobie trasę z serwera do USA. tongue.gif

Na poważnie - wyłącznie cache.
Dapi
Czyli chodzi o zapisywanie w przykładowym katalogu 'cache' na serwerze tych 16 stron z których korzystam?
No pomysł nie głupi, tylko czy jeśli treść którą pobieram zmienia się kilkanaście razy dziennie to ma sens?
Jeśli nie wiem, kiedy treść strony, którą pobieram się zmienia, to...? Pobieranie co dany czas, czy jak?
Z API będzie korzystać tylko 1 podstrona, a przy małym ruchu różnica nie będzie chyba zbytnio zauważalna, prawda?

Dużo pytań, mam nadzieję, że nie za dużo smile.gif
erix
Cytat
No pomysł nie głupi, tylko czy jeśli treść którą pobieram zmienia się kilkanaście razy dziennie to ma sens?

To uaktualniasz cache wtedy, gdy chcesz zmodyfikować zawartość.

Cytat
Jeśli nie wiem, kiedy treść strony, którą pobieram się zmienia, to...? Pobieranie co dany czas, czy jak?

No to już jest Twój problem, bo tylko Ty wiesz, jak często chcesz mieć aktualizowaną.

Cytat
Z API będzie korzystać tylko 1 podstrona, a przy małym ruchu różnica nie będzie chyba zbytnio zauważalna, prawda?

Nie rozumiem?
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.