Autor | Zpráva | ||
---|---|---|---|
petr Profil * |
#1 · Zasláno: 21. 1. 2010, 23:04:15
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 |
#2 · Zasláno: 21. 1. 2010, 23:24:17
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 |
#3 · Zasláno: 22. 1. 2010, 05:44:18
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 |
#4 · Zasláno: 22. 1. 2010, 10:57:43
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 * |
#5 · Zasláno: 22. 1. 2010, 16:44:02
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 * |
#6 · Zasláno: 22. 1. 2010, 16:45:59
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 |
#7 · Zasláno: 22. 1. 2010, 16:48:20
petr:
Zkuste se podívat v čem se liší ta vrácená data. |
||
petr Profil * |
#8 · Zasláno: 22. 1. 2010, 16:52:25
Z internetu to nevrátá celý obsah div main. Ale proč? Tam jsou právě ta data.
|
||
Časová prodleva: 14 let
|
0