Autor | Zpráva | ||
---|---|---|---|
jaacob Profil * |
#1 · Zasláno: 22. 5. 2014, 20:27:40 · Upravil/a: jaacob
Zdravím vás, potřeboval bych poradit, jak postupovat. Mým cílem je získat ze stránek ČNB aktuální kurz EURa.
Zkoušel jsem to z penize.cz, tam je to řešitelné zbytečně složitě a taky z kurzy.cz, ale to fungovalo dočasně, netuším proč, kurz eura byl na druhý den prázdný a měl styl display:none; Na co bych si měl v případě ČNB dát pozor a jaké funkce použít, jestliže potřebuju obnovit hodnotu při načtení dokumentu vždy znovu a nepoužívat pro to databázi? Díky za jakoukoliv nápovědu. Aha, jak se tak dívám, tak EUR k nenalezení :-) Co tedy s tím? |
||
Bubák Profil |
#2 · Zasláno: 22. 5. 2014, 20:36:01
jaacob:
„Aha, jak se tak dívám, tak EUR k nenalezení :-) Co tedy s tím?“ To máš kurzy ostatních měn, musíš se podívat na kurzy devizového trhu. Zřejmě ti pomůže i http://jecas.cz/ziskani-obsahu-cache, ať nemusíš při každém požadavku stahovat kurzovní lístek ze stránek ČNB. |
||
juriad Profil |
#3 · Zasláno: 22. 5. 2014, 20:39:15
A ještě lépe používat tento soubor (stahovat cronem jednom za den):
http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt |
||
jaacob Profil * |
#4 · Zasláno: 22. 5. 2014, 21:02:27 · Upravil/a: jaacob
Bubák
Díky, cache by nebyl problém... juriad: ...pokud ale mluvíme o cronu, zatím jsem neměl tu čest, ale třeba je na čase. Takže taky díky za nasměrování Aplikace je pro lokální využití a bude ji používat jediný uživatel. Dejme tomu teda, že soubor .txt lokálně uložím, jak přesně z něj můžu vyhledat hodnotu? Jakou funkcí? nebo spíš funkcemi Samozřejmě jsem se to snažil najít, než jsem se zeptal.... |
||
juriad Profil |
# pokud máš ten soubor stažený, tak adresu změň jen na název souboru $radky = file('http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt'); $kurzy = array(); for ($i = 2; $i < count($radky); $i++) { $radek = $radky[$i]; list($zeme, $mena, $mnozstvi, $kod, $kurz) = explode('|', $radek); $kurz = strtr($kurz, ',', '.') / $mnozstvi; $kurzy[$kod] = array('zeme' => $zeme, 'mena' => $mena, 'kod' => $kod, 'kurz' => $kurz); } var_dump($kurzy); $hodnota = 100; # Kč echo "$hodnota Kč je " . ($hodnota / $kurzy['EUR']['kurz']) . " v Eurech\n"; Pokud tu hodnotu chceš v JS, tak: <script> <?php echo 'var kurzy = ' . json_encode($kurzy) . ';'; ?> </script> A pak v JS s tím budeš pracovat již normálně: var kurzEura = kurzy.EUR.kurz; // nebo ekvivalentně var kurzEura = kurzy['EUR']['kurz']; Samozřejmě, že bys mohl vyfiltrovat jen měnu či měny, které tě zajímají, ale to je již na tvém uvážení. |
||
jaacob Profil * |
#6 · Zasláno: 22. 5. 2014, 21:23:04 · Upravil/a: jaacob
juriad:
Jo, takže s PHP. Mockrát díky juriade za pomoc! Řešení jsem nečekal. jaacob: A i takhle, no ty jsi perfektní! :) Ještě jednou díky |
||
Časová prodleva: 10 let
|
0