| | |
| Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
Autor | Správa |
---|
Registrovaný: 25.07.07 Prihlásený: 27.11.14 Príspevky: 217 Témy: 38 Bydlisko: Kálnica city | Napísal Matho: 01.03.2008 16:34 | |
|
Robim stranku pre PC shop, chcel by som urobit ceny aby zobrazovalo aj v sk aj v eurach. To prepocitavanie by som dako vedel spravit, len sa chcem opytat , ci dakto nepozna stranku z ktorej by som mohol cerpat aktualny kurz koruny voci euru, aby som ho nemusel kazdy den prepisovat, ze ci nejaka stranka ponuka taku sluzbu odkial by mi php script mohol cucat aktualny kurz..
diki moc
|
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal suchy: 01.03.2008 16:48 | |
|
http://www.nbs.sk/KL/AKTKLSL.XML aktualizuje sa kazdy den, takze ti staci do cronu hodit skript co to stiahne a vyparsuje kurz eura.
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 25.07.07 Prihlásený: 27.11.14 Príspevky: 217 Témy: 38 Bydlisko: Kálnica city | Napísal autor témy Matho: 01.03.2008 19:49 | |
|
a ako zostavim prikaz na stiahnutie toho suboru alebo nacitanie do premenej aby som s nim mohol pracovat, lebo cez readfile mi ho len vypisalo a zrejme nacitalo len do pamati
|
|
Registrovaný: 17.10.06 Prihlásený: 08.01.11 Príspevky: 1752 Témy: 17 | Napísal suchy: 01.03.2008 22:03 | |
|
ja pouzivam file_get_contents(); nacita ti to subor do srtringu.
_________________ A Real Programmer might or might not know his wife's name. He does, however, know the entire ASCII code table. |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
alebo mozes pouzit simplexml_load_file(), ak mas PHP5
Mensi priklad - vypise aktualny kurz eura:
Kód: class ExchangeRate { var $xml; function __construct() { $this->xml = simplexml_load_file("http://www.nbs.sk/KL/AKTKLSL.XML"); } function getRate($ccyCode) { foreach ($this->xml->rateList->rate as $rate) { if($rate->ccyCode==$ccyCode) { return $rate->value; } } } }
$kurz = new ExchangeRate(); echo $kurz->getRate('EUR');
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 25.07.07 Prihlásený: 27.11.14 Príspevky: 217 Témy: 38 Bydlisko: Kálnica city | Napísal autor témy Matho: 02.03.2008 0:14 | |
|
jee diky to je parada, ide mi to...
|
|
Registrovaný: 26.07.06 Prihlásený: 20.03.16 Príspevky: 1378 Témy: 90 Bydlisko: Slovakia-Ko... | Napísal kmsa: 02.03.2008 9:51 | |
|
vizerato fajn
asi sa vrhnem na oop
_________________ CPU: Intel E7200 momentalne default + freezer 7 pro | MB: Gigabyte GA-P35-DS3 rev. 2.0 F14 | RAM: A-DATA 4x1GB EE Vitesta | VGA: ATI Radeon HD4850 Sapphire Dual Slot | Monitor: BenQ E2200HD+17CTX | HDD: WD 3200AAKS + Maxtor 6Y080M0 80GB SATAII + 120GB ATA Barracuda | PSU: Corsair VX450W | Windows 7 Ultimate Sk | REPRO: Logitech X-210
+
IPhone 3GS JB 3.1.3 (new BR)
múdry sa postara o seba ale ešte múdrejši sa postara aj o druhých |
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 |
mne to nejde. Vypíše: Warning: Invalid argument supplied for foreach() in /3w/wz.cz/c/cestoserver/test12/index.php on line 13
stenley píše: alebo mozes pouzit simplexml_load_file(), ak mas PHP5 Mensi priklad - vypise aktualny kurz eura: Kód: class ExchangeRate { var $xml; function __construct() { $this->xml = simplexml_load_file("http://www.nbs.sk/KL/AKTKLSL.XML"); } function getRate($ccyCode) { foreach ($this->xml->rateList->rate as $rate) { if($rate->ccyCode==$ccyCode) { return $rate->value; } } } }
$kurz = new ExchangeRate(); echo $kurz->getRate('EUR');
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
pravdepodobne nemas PHP5
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 |
stenley píše: pravdepodobne nemas PHP5
skusam to na www.webzdarma.cz
ak by tam nebolo PHP5, aké je iné riešenie ako ten kurz. lístok na webe zverejniť?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
tam je tusim php4, v tom pripade to bude troska zlozitejsie, ale v kazdom pripade treba vyskusat, ci tam funguju napriklad DOM XML funkcie a pod...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 |
z tohoto nie som mudrejší... Chcelo by to ten skript pre PHP4, neviem vobec ako to spravit, napriek Tvojim indiciam...
stenley píše: tam je tusim php4, v tom pripade to bude troska zlozitejsie, ale v kazdom pripade treba vyskusat, ci tam funguju napriklad DOM XML funkcie a pod...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
Toto je skript z http://sk.php.net/xml_parse, stacilo ho len trosku upravit, teraz ti to vypise kurz eura. Skus, ci ti to tam pojde, ale nemal by byt problem:
Kód: <?php $file = 'http://www.nbs.sk/KL/AKTKLSL.XML'; $stack = array();
function getRate($ccyCode) { global $xml2arrData; foreach($xml2arrData as $key => $arrValue) { $rate = $arrValue['children']; $rate_country = $rate[0]['cdata']; //krajina $rate_ccycode = $rate[1]['cdata']; //kod krajiny $rate_amount = $rate[2]['cdata']; //mnozstvo $rate_value = $rate[3]['cdata']; //kurz if($rate_ccycode==$ccyCode) { return $rate_value; } } }
function startTag($parser, $name, $attrs) { global $stack; $tag=array("name"=>$name,"attrs"=>$attrs); array_push($stack,$tag); }
function cdata($parser, $cdata) { global $stack,$i; if(trim($cdata)) { $stack[count($stack)-1]['cdata']=$cdata; } }
function endTag($parser, $name) { global $stack; $stack[count($stack)-2]['children'][] = $stack[count($stack)-1]; array_pop($stack); }
$xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startTag", "endTag"); xml_set_character_data_handler($xml_parser, "cdata");
$data = xml_parse($xml_parser,file_get_contents($file)); if(!$data) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); }
xml_parser_free($xml_parser);
$xml2arrData = $stack[0]['children'][3]['children'];
echo getRate("EUR"); ?>
Alebo pouzi http://www.criticaldevelopment.net/xml/doc.php
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice |
pockaj este mesiac-dva, a nebudes musiet nic stahovat. Kurz sa ustali a uz sa menit nikdy nebude!
Takto to mozes onedlho prerabat...
|
|
Registrovaný: 25.07.07 Prihlásený: 27.11.14 Príspevky: 217 Témy: 38 Bydlisko: Kálnica city | Napísal autor témy Matho: 21.05.2008 17:11 | |
|
ake prerabanie, tak tam o dva mesiace napise do premenej pevny kurz a je to...
|
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice |
no jasne, ale usetril by si robotu s terajsi zhananim scriptov... ale nech si robi co chce kto chce...
|
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 |
Dik.
Skusil som to a vypisalo nasledovne:
Warning: file_get_contents(): URL file-access is disabled in the server configuration in /3w/wz.cz/c/cestoserver/test12/index.php on line 54
Warning: file_get_contents(http://www.nbs.sk/KL/AKTKLSL.XML): failed to open stream: no suitable wrapper could be found in /3w/wz.cz/c/cestoserver/test12/index.php on line 54
Warning: Invalid argument supplied for foreach() in /3w/wz.cz/c/cestoserver/test12/index.php on line 9
Bude tam zjavne este nejaky problem...? Mne sa zda z prvej poznemky, ze taketo stahovanie je na wz.cz asi nepovolene...
stenley píše: Toto je skript z http://sk.php.net/xml_parse, stacilo ho len trosku upravit, teraz ti to vypise kurz eura. Skus, ci ti to tam pojde, ale nemal by byt problem: Alebo pouzi http://www.criticaldevelopment.net/xml/doc.php
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ako pozeram, tak ti to uz funguje...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 12.05.08 Prihlásený: 28.12.13 Príspevky: 117 Témy: 29 |
stenley píše: ako pozeram, tak ti to uz funguje...
akoze funguje? Nejde to... Podla mna je ten webzdarma nastaveny tak, ze nedovoli preberat takymto sposobom data externe...? Neviem, vychadzam z chyboveho hlasenia...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ked som to pozeral naposledy, tak to fungovalo, neviem ako je to mozne a potom ked som dal refresh, tak to zas neslo...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
| Stránka: 1 z 1
| [ Príspevkov: 20 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|