Starší komentáře ke článku: Jak zobrazovat aktuální měnové kurzy

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Jiří Kocman

Datum vložení: 30.1.2002 9:36:52

Jelikož jsem laboroval s obnovováním textového souboru na serveru ČNB, došel jsem k závěru, že se nejedná úplně o nejaktuálnější kurzy cizích měn - txt soubor se updatuje se spožděním, nicméně se jedná o aktuální kurz k datu uvedenému v tomto souboru. Také u čísla za křížkem jsem Vás trošku dezinformoval - nejedná se o pořadí všedního dne v měsíci ale o číslo aktualizace kurzu v daném měsíci.

Avatar

Autor komentáře: Jméno a příjmení

Datum vložení: 9.3.2004 16:24:12

j.h. kocman, are you there?
g.j. de rook

Avatar

Autor komentáře: Fl*oOo*bY

Datum vložení: 16.12.2008 15:24:20

To seš nějakej chytrej, ne??? Simtě, běž si rači dezorientovat tvou starou...

Avatar

Autor komentáře: Jirka

Datum vložení: 30.1.2002 9:39:12

pekne, i kdyz uz zname. mam lepsi reseni :) nacitat textak primo do flashe, kde jej action scriptem zpracovat a visualisovat (sloupcove nebo carove). toto me zpracovani bylo jednu dobu i na CSOB, nez se rozhodli v ramci flash-NE doktriny je nahradit generovanymi obrazky/

Avatar

Autor komentáře: Jirka

Datum vložení: 30.1.2002 9:41:25

ted jsem se v novem prispevku docet, ze textak neni aktualni. pak je tedy prece lepsi nacist celou stranku (www.cnb.cz ?) a pomoci php rozkuchat sestavene html a kursy vydolovat takto :)

Avatar

Autor komentáře: Jiří Kocman

Datum vložení: 30.1.2002 10:23:54

<a href='http://wdb.cnb.cz/cnb_txt/cnb.wwv_main.main?p_cornerid=72&p_currcornerid=87&p_language=cs&p_edit=0&p_full=1&p_cornertype=item&p_iscornerlink=1' target='_blank'>http://wdb.cnb.cz/cnb_txt/cnb.wwv_main.main?p_cornerid=72&p_currcornerid=87&p_language=cs&p_edit=0&p_full=1&p_cornertype=item&p_iscornerlink=1</a>
Stránky ČNB vycházejí ze stejných kurzů (Jedná se o devizový kurz a dle stránek by měl být aktualizován po 14:30, ale už jsem zaznamenal i dvoudenní prodlevu). Navíc by to bylo trošku krkolomné dolování z HTML, samozřejmě ale není nemožné. Například na <a href='http://finance.centrum.cz' target='_blank'>http://finance.centrum.cz</a> najdete naprosto stejný kurzovní lístek (akorát jsou zaokrouhleny nahoru na 2 desetinná místa). Pro další příklad uvádím stránku <a href='http://finance.seznam.cz' target='_blank'>http://finance.seznam.cz</a> a určitě se najde spousta dalších stránek využívajících stejného zdroje. Je nutné vzít v úvahu fakt, že ČNB v podstatě udává trend zahraničních měn a kurzy jiných bank a směnáren vesměs vycházejí z tohoto kurzu (pokud zrovna někdo neurčuje kurz od oka...).

Avatar

Autor komentáře: Jirka

Datum vložení: 30.1.2002 11:22:53

,pokud se jedna o tento konkretni pripad, kdy jsou data k disposici pekne pokupe v textaku. muze ale nastat i pripad, kdy nekdo chce cokoli jineho, treba predpoved pocasi nebo program kin. tam uz se dolovani z html neni tak snadne vyhnout.

Avatar

Autor komentáře: Jiří Kocman

Datum vložení: 30.1.2002 12:37:47

S tim souhlasim, pak je ale treba prispusobit skript, respektive reg. vyrazy konkretni strance. Bohuzel prave tyto ruzne "aktuality" byvaji poskytovany za uplatu, takze pokud nechce nebo nemuze autor stranek platit, musi pristupovat k takovymto resenim jako je parsovani z HTML kodu a nebo tyto data denne aktualizovat rucne.

Avatar

Autor komentáře: Richard Rajnoch

Datum vložení: 21.2.2002 13:16:58

Jelikož jsem tento týden také pracoval na extrakci kurzu z webu ČNB, dovoluji si udělat jasno v otázkách aktuálnosti kurzů.
Na <a href='http://www.cnb.cz/cnb/web/tz_cz.php3?id=433' target='_blank'>http://www.cnb.cz/cnb/web/tz_cz.php3?id=433</a> se nachází <B>Oznámení České národní banky o změně způsobu vyhlašování kurzů devizového trhu od 2. 1. 2002</B>, cituji:
<I>S platností od 2.1.2002 připravuje Česká národní banka změnu v čase a způsobu stanovování a zveřejňování kurzů devizového trhu. Kurzy budou stanovovány vždy ve 14:15 s platností na aktuální den a bezprostředně poté budou zveřejněny stejným způsobem jako doposud.</I>
Jen doplním ... a publikovány nejpozději 14:30.
Kdo by chtěl vědět více o formátech zveřejňovaných kurzů, doporučuji <a href='http://wdb.cnb.cz/cnb/docs/KURZLISTEK/FORMAT_KURZY.HTM' target='_blank'>http://wdb.cnb.cz/cnb/docs/KURZLISTEK/FORMAT_KURZY.HTM</a>
Jinak samozřejmě oceňuji existenci tohoto článku, neboť já jsem se s tímto problémem pachtil tři dny (holt se teprve učím:-))

Avatar

Autor komentáře: Milda Široký

Datum vložení: 25.2.2003 14:06:25

Jak zprovoznit fce fopen, případně file? Obdržím tyto hlášky: Warning: fopen() [function.fopen]: php_network_getaddresses: gethostbyname failed in c:\www\kurzpokus2.php on line 2
a
Warning: fopen(<a href='http://wdb.cnb.cz/CNB_TXT/KURZY.K_CURRTXT)' target='_blank'>http://wdb.cnb.cz/CNB_TXT/KURZY.K_CURRTXT)</a> [function.fopen]: failed to create stream: No error in c:\www\kurzpokus2.php on line 2

díky

Avatar

Autor komentáře: Jeseter

Datum vložení: 1.2.2002 7:59:54

a co nějaký příklad pro ASP?

Avatar

Autor komentáře: Jiří Kocman

Datum vložení: 1.2.2002 8:12:41

Pokud to byl dotaz na mou osobu, tak bohuzel nemohu slouzit, jelikoz se o ASP nezajimam... respektive jsem schopen pochopit zakladni funkce, ale rozhodne bych si netroufl neco napsat (tedy prome response.write :-)).

Avatar

Autor komentáře: Ondřej Kopp

Datum vložení: 1.2.2002 8:58:02

Příklad v ASP najdete zde: <a href='http://www.interval.cz/r-article.asp?id=932' target='_blank'>http://www.interval.cz/r-article.asp?id=932</a>

Nejsou to sice přímo kurzy ČNB, ale princip je naprosto stejný.

Avatar

Autor komentáře: Martin Tokar

Datum vložení: 15.2.2002 21:13:11

dufam ze na slovakov sa nezabudlo, poradte mi adresu pre kurzy NBS
Dakujem

Avatar

Autor komentáře: Ondřej Kopp

Datum vložení: 16.2.2002 7:29:17

Kurzy NBS najdete na adrese
<a href='http://www.nbs.sk/KL/AKTKLSL.HTM' target='_blank'>http://www.nbs.sk/KL/AKTKLSL.HTM</a> bohuzel neni v tak prijemne formatu jako u CNB

Avatar

Autor komentáře: The King

Datum vložení: 14.10.2002 17:49:14

<a href='http://www.nbs.sk/KL/KLSL2002/KL021015.XML' target='_blank'>http://www.nbs.sk/KL/KLSL2002/KL021015.XML</a>

xml :)

Avatar

Autor komentáře: djradeesek

Datum vložení: 25.8.2008 21:35:24

DOCS http://www.nbs.sk/KL/AKTKLSL.DOC SDF http://www.nbs.sk/KL/AKTKLSL.SDF

Avatar

Autor komentáře: Curt

Datum vložení: 21.5.2002 13:35:28

Mam problem so zbehnutim tohto skriptu. Neda sa otvorit subor s aktualnym kurzovym listkom, fukcia fopen vypise nasledujucu hlasku:
Warning: php_network_getaddresses: gethostbyname failed in c:\php/Pokus/index.php on line 24

Warning: fopen("<a href='http://www.nbs.sk/KL/AKTKLSL.HTM","r")' target='_blank'>http://www.nbs.sk/KL/AKTKLSL.HTM","r")</a> - No error in c:\php/Pokus/index.php on line 2

Nevie mi niekto poradit??

Avatar

Autor komentáře: centi

Datum vložení: 28.11.2004 19:59:53

<a href='http://interval.cz/__redirect/redirect.asp?what=interval_discussion&url=http://www.centi.local.sk/server-side/11-2004/kurzy-nbs-na-vlastnej-stranke/' target='_blank'>http://www.centi.local.sk/server-side/11-2004/kurzy-nbs-na-vlastnej-stranke/</a>

Avatar

Autor komentáře: Michal Hirman

Datum vložení: 28.5.2002 1:41:42

Chybu sem hledal uplne nekde jinde, a automatcky sem ocekaval ze to bude kurzovni_listek a ono se nic nedelo, pak sem musel jit do hospody a po navratu sem si toho vsim (maleho ale zasadniho preklepu) $vysledek = "kur<u><b>o</b></u>zovni_listek.html";

Avatar

Autor komentáře: Michal Hirman

Datum vložení: 28.5.2002 1:44:00

$vysledek = "kurozovni_listek.html";

Avatar

Autor komentáře: Marush

Datum vložení: 24.2.2004 10:31:30

Jsem zacatecnik a nevim jak to rozchodit. Vytvoril jsem soubor s radkem soubor s tabulkou HTML a pak soubor se scriptem PHP, ale kde uvidim vysledek. Neni nekde cela funkcni ukazka nebo nemuzete mi ji poslat.
Diky.

Avatar

Autor komentáře: Richard Rajnoch

Datum vložení: 24.2.2004 19:08:35

No ja mam konkretne na svoji strance medved.zde.cz kurz dolaru zjistuji takto:
<?
// aktuální kurz USD u ČNB = $kurz
$usd_ref="<a href='http://wdb.cnb.cz/CNB_TXT/KURZY.K_CURRTXT"; //' target='_blank'>http://wdb.cnb.cz/CNB_TXT/KURZY.K_CURRTXT"; //</a> umístění kýľeného souboru s aktuálními kurzy
if (@$fp = fopen($usd_ref, "r")): // přenesl se soubor?
$i = 1;
while ($i) { // !feof ($fp)
$line = fgets ($fp, 1024);
if ($i++ == 1):
$firstline = $line;
endif;
if ($here = strstr($line, "USD")):
//$here = trim($here);
$kurz = substr($here, -7);
$i = 0;
endif;
}
fclose($fp); // zavření souboru
else: // soubor se nepřenesl
$kurz = "Doąlo k chybě při přenosu souboru, při zjiątování kurzu dolaru!";
endif;
//echo($kurz);
?>
a pak uz jen zobrazim:
<?
if ($kurz != 0) echo("Dneąní kurz USD dle ČNB je ".$kurz.".");
?>

Avatar

Autor komentáře: Pyg

Datum vložení: 17.5.2005 22:25:23

Ahoj, sice uz tu ten dotaz byl, ale nikdo to nezodpovedel: $fname = "http://wdb.cnb.cz/CNB_TXT/KURZY.K_CURRTXT"; @$file = fopen($fname,"r"); if ($file) { ... } na locale mi to jde v poho, dal jsem to na jiny server a tam to nefakci, file se asi neprenese, na nastaveni serveru nejsem odbornik, chci se zeptat, zda nekdo nevi, kde ta chyba by mohla byt ...? Dik Pyg

Avatar

Autor komentáře: bedulinek

Datum vložení: 3.7.2005 9:57:44

Na stránce http://www.obc.sk/components/ je zdarma komponenta na zobrazení kurzu ceskej a slovenskej narodnej banky.

Avatar

Autor komentáře: hbml

Datum vložení: 19.6.2006 16:04:06

dobry den mam trochu predelane scripty na kurzovni listek [b]kurz_row.html[/b] vapada takto <tr> <td bgcolor="#$bg" align="center">$vlajka</td> <td bgcolor="#$bg" align="center">$zeme</td> <td bgcolor="#$bg" align="center">$mena</td> <td bgcolor="#$bg" align="center">$mnozstvi</td> <td bgcolor="#$bg" align="center">$kod</td> <td bgcolor="#$bg" align="center">$kurz</td> </tr> [b]kurz_table.html[/b] takto <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Kurzy</title> </head> <body> <center><font SIZE=4><b><u>Kurzovní lístek</u></font> pro den: $datum</b>

<table border="2" cellspacing="1" bgcolor="#f4f4f4"> <TR ALIGN="center" bgcolor="#c0c0c0"> <td align="center"><b>Vlajka</b></td> <td align="center"><b>Země</b></td> <td align="center"><b>Měna</b></td> <td align="center"><b>Množství</b></td> <td align="center"><b>Kód</b></td> <td align="center"><b>Kurz</b></td> $obsah </td> </tr> </table> [b]index.php [/b] takto <? $file = "http://www.cnb.cz/cz/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt"; // proměnná $file obsahuje cestu k souboru s aktuálním kurzovním lístkem $row = "kurz_row.html"; // cesta k souboru s [ablonou řádku $table = "kurz_table.html"; // cesta k souboru s [ablonou tabulky $vysledek = "kurzovni_listek.html"; // cesta k tabulce s aktuálním kurzovním lístkem $bgs = "f4f4f4"; // v proměnné bgs je barva světlej[ího řádku v tabulce $bgt = "f4f4f4"; // v proměnné bgt je barva tmav[ího řádku v tabulce @$f = fopen($file,"r"); // otevře soubor $file pro čtení if (!$f) exit; // pokud bude server nedostupný nebo nebude existovat soubor s aktuálním kurzovním lístkem, ukončí běh skriptu while (!feof ($f)) { // budete číst po řádcích, dokud nedojdete na konec souboru $tmp[] = chop(fgets($f, 4096)); } // každý řádek bude uložený jako jeden index v poli $tmp // funkce chop odstraní z konce řádku značku pro přechod na nový řádek @fclose($f); // nyní již není třeba práce se souborem, proto uzavřete spojení na tento soubor @$f = fopen($row,"r"); $radek = fread($f,1000000); $radek = addslashes($radek); @fclose($f); @$f = fopen($table,"r"); $tabulka = fread($f,1000000); $tabulka = addslashes($tabulka); @fclose($f); $datum = substr($tmp[0], 0, 10); // v prvním řádku souboru je datum, proto z prvního indexu pole vyberte prvních 10 znaků - datum ve formátu d.m.Y $zobrazit = array(3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38); // pole $zobrazit obsahuje čísla řádků v textovém souboru s kurzy získanými z ČNB, resp. se jedná o měny, které se zobrazí v tabulce for ($i = 0; $i<count($zobrazit); $i++) { $tmp2 = explode("|",$tmp[($zobrazit[$i]-1)]); $zeme = $tmp2[0]; $mena = $tmp2[1]; $kod = $tmp2[3]; $mnozstvi = $tmp2[2]; $kurz = $tmp2[4]; // pro každou položku z vý[e uvedeného pole získáte hodnoty kód, množství a kurz; pomocí funkce eval je vložíte do [ablony řádku, která se uloží v proměnné $obsah $bg = ($i%2==1) ? $bgs : $bgt; // nastavíte pozadí pro řádek tabulky eval("\$radek_tmp = \"$radek\";"); // do [ablony řádku dosadíte proměnné... $obsah .= $radek_tmp; } // ...a připí[ete jej do proměnné $obsah eval("\$tabulka = \"$tabulka\";"); // do [ablony tabulky vložíte proměnné, konkrétně se vyevaluje proměnná $obsah @$f = fopen($vysledek,"w"); @fwrite($f,$tabulka); @fclose($f); include("kurzovni_listek.html"); ?> vse maka jak ma ale snazim se pridat vlajky do kurzu jenomze nevim jak zas tak dobry nejsem,kdyby jste mi mohl nekdo doupravit ten index.php myslim ze tamty dva html uz jsou pripravene,predem diky a spozdravem hbml

Avatar

Autor komentáře: koshee84

Datum vložení: 18.6.2007 13:45:07

Pokud chcete tento skript umístit na webzdarma, nepůjdou vám načíst zdrojová data, protože je zakázán transparentní přístup k remote URL pomocí funkcí fopen(), include(), require(). Tyto funkce uvšem můžete zapnout, pokud vytvoříte soubor [b].htaccess[/b] s obsahem [b]php_flag allow_url_fopen on [/b]

Avatar

Autor komentáře: Thor

Datum vložení: 27.3.2008 18:23:31

mám web na WZ a nejede mi to. jak to přesně funguje přes ten htaccess?? Na ofic. FAQ jsem to nepochopil:-)

Avatar

Autor komentáře: Bandzula

Datum vložení: 17.7.2007 18:44:31

Ako pracuje toto: $bg = ($i%2==1) ? $bgs : $bgt;

Avatar

Autor komentáře: nf

Datum vložení: 16.8.2007 11:33:36

do proměnné $bg ulož: 1) hodnotu proměnné $bgs v případě, že číslo v $i je liché 2) hodnotu proměnné $bgt v případě, že číslo v $i je sudé jinak k původnímu článku http://hrazdil.info/kurzy-men-v-php/

Zpět na článek | Úvodní stránka Interval.cz