Autor Zpráva
petr
Profil *
Používám funkci file_get_contents. Když ji použiji na získání obsahu pomocí http, tak se stránky nenačte kompletní. Zdá se mi, že nečeká na všechny javasripty atd. Jde nějak zajisti, aby se obsah načetl kompletně?
Díky
Alphard
Profil
Jak nečeká na všechny javascripty? Správně má být načten obsah odkázané stránky, pouze té jediné. Html se neparsuje, nenačítá se žádné externí css ani javascript a nic se nezpracovává. Odkázaný soubor by se ale měl načíst celý, jestli ne, tak bude chyba někde ve spojení.
mckay
Profil
petr:
Zdá se mi, že nečeká na všechny javasripty atd.
To je s prominutím blbost. Funkce si vezme prostě zdroj, a tím je hotovo.

Jinak také můžeš vyzkoušet, jestli to funguje na jiném hostingu stejně nebo rozdílně. Aspoň budeš mít jistotu, že se ptáš chytře.;)
AM_
Profil
Alphard:
Správně má být načten obsah odkázané stránky
pro snazší pochopení bych spíše řekl odkázaného souboru. Pod pojmem stránka si člověk představí i ty všecky obrázky a animace, které se file_get_contents nenačtou, protože se ve stejném souboru obvykle nenachází.
petr
Profil *
Když stejný skript zavolám od sebe z localu tak se zobrazi OK. Když ho umístím na internet tak to háže hausnumera.
Zde je :
  $web="http://meteo.amut.net/mapa_prehled_cr.php?soubor=teplota";
   $retez= file_get_contents($web);
   $ptn='~(COORDS\=\"578,356,5\".*\n.+\n.+teplota:)[^0-9-]+([-]?\d+[.]?\d*)~';
   preg_match($ptn, $retez, $matches);
   header("Content-Type: text/html;charset=windows-1250"); 
   echo 'Štítná: '.($matches[2]).'°C';

Chci teplotu ve Štítné. Na daném webu je na mapě u slovenských hranic, ve spodní části (abyste to mohli najít). Tam je nějaká hodnota(správná). Když volám script z localu, dostanu tu správnou hodnotu. Když ho šoupnu na web a volám ho, tak dostávám pokaždé jinou hodnotu. Z domu se to načítá delší čas než z internetu. Proto jsem usoudil, že skript pošle požadavek a než dostane odpověď, tak stránka je připravena a obdržřím správnnou hodnotu. Ufff.
petr
Profil *
Ještě poznámka. Když dám výsledek $retez= file_get_contents($web);
uložit do souboru, tak na localu je jiný obsah než, když ho spustím od poskytovatele.
Joker
Profil
petr:
Zkuste se podívat v čem se liší ta vrácená data.
petr
Profil *
Z internetu to nevrátá celý obsah div main. Ale proč? Tam jsou právě ta data.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: