Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobieranie kursu dolara z nbp.pl
-petrosz-
post
Post #1





Goście







witam,

jestem w trakcie tworzenia sklepu, w ktorym ceny beda podane w dolarach. Jednak przy finalizowaniu transakcji musze przekonwertowac je na PLN.

Problem moj polega ta tym, ze nie moge poradzic sobie z pobraniem aktuanlego kursu dolara ze strony http://www.nbp.pl/Kursy/xml/a103z050531.xml

potrzebna mi tylko ta jedna wartosc, abym mogl ja wykorzystac do obliczen.

Z gory dziekuje za pomoc

pozdrawiam
piotrek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ociu
post
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Z tego co pamiętam, trzeba mieć plik xml na serwerze, czyli musisz odtworzyć ten plik, sciągnąc zawartość i zapisać plik na swoim serwerze.
Go to the top of the page
+Quote Post
crash
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Możesz użyć na przykład Simple XML'a:
  1. <?php
  2. $xml = simplexml_load_file('http://www.nbp.pl/Kursy/xml/a103z050531.xml');
  3.  
  4. echo $xml->pozycja[0]->kurs_sredni;
  5. ?>

Albo skożystać z mojej funkcji, którą kiedyś podawałem tu na forum:
  1. <?php
  2. function pobierz_kurs($in)
  3. {
  4. if($f = @fopen('http://www.nbp.pl/kursy/kursya.html', 'r'))
  5. {
  6. $dane = '';
  7.  
  8. while(!feof($f))
  9. {
  10. $dane .= fgets($f);
  11. }
  12.  
  13. fclose($f);
  14.  
  15. preg_match_all(&#092;"#<td class=\"bg[1-2]?\">[0-1]{1,3} ([A-Z]{3})</td>rn<td class=\"bg[1-2]?\">([0-9,]+)</td>#e\", $dane, $wynik);
  16.  
  17. $out = array();
  18.  
  19. for($i = 0; $i < count($wynik[1]); $i++)
  20. {
  21. if(in_array($wynik[1][$i], $in))
  22. {
  23. $out[$wynik[1][$i]] = $wynik[2][$i];
  24. }
  25. }
  26.  
  27. return $out;
  28. }
  29. else
  30. {
  31. return;
  32. }
  33. }
  34.  
  35. $waluty = array('USD', 'CHF', 'GBP'); // kursy, których walut Cie interesują
  36.  
  37. $kursy = pobierz_kurs($waluty); // pobrane dane; np $kursy['USD'] zawiera kurs dolara...
  38.  
  39. print_r($kursy);
  40. ?>
Go to the top of the page
+Quote Post
-Guest-
post
Post #4





Goście







z pierwszego skryptu wywala mi blad

Fatal error: Call to undefined function: simplexml_load_file() in /home/users/iconblast/public_html/checkout.php on line 35

natomiast w drugim przykladzie nie moze otworzyc pliku



co trzeba zrobic, zeby skorzystac z Simple Xml?

pozdrawiam
piotrek
Go to the top of the page
+Quote Post
crash
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Cytat(Manual)
The SimpleXML extension requires php 5.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 11:50