Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak pobrać....
giermaniak
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.01.2005

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


Jak pobrać kurs $ ze strony NBP aby był aktualizowany.
Na stronie mam ceny w zł i chciałby aby były przeliczane automatycznie zgodnie z aktualnym kursem.
Chodzi mi tylko o USD.

Pozdrawiam
Go to the top of the page
+Quote Post
crash
post
Post #2





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

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


Tu masz pobieranie aktualnego kursu dolara amerynańskiego za pomocą SimpleXML:
  1. <?php
  2. $url = 'http://www.nbp.pl/Kursy/xml/a256z041231.xml';
  3.  
  4. $xml = '';
  5. $kurs_dolara = -1;
  6.  
  7. if($f = @fopen($url, 'r'))
  8. {
  9.     while(!feof($f))
  10.     {
  11.         $xml .= fgets($f);
  12.     }
  13.     fclose($f);
  14. }
  15.  
  16. $xml = simplexml_load_string($xml);
  17.  
  18. foreach ($xml->children() as $child)
  19. {
  20.     if($child->kod_waluty == 'USD')
  21.     {
  22.         $kurs_dolara = $child->kurs_sredni;
  23.     }
  24. }
  25.  
  26. echo $kurs_dolara;
  27. ?>

Dalej rob z wartością $kurs_dolara już co chcesz.

A jako że nazwa pliku XML zmienia się to tu masz skrypt pobierający aktualny adres:
  1. <?php
  2. $url = 'http://www.nbp.pl/Kursy/KursyA.html';
  3.  
  4. if($f = @fopen($url, 'r'))
  5. {
  6. while(!feof($f))
  7. {
  8. $strona .= fgets($f);
  9. }
  10. fclose($f);
  11.  
  12. preg_match_all('#xml/[a-z0-9]+.xml#', $strona, $wynik);
  13. }
  14.  
  15. $url = 'http://www.nbp.pl/Kursy/'.$wynik[0][0];
  16. ?>


Ten post edytował crashu 1.01.2005, 20:31:42


--------------------
Go to the top of the page
+Quote Post
giermaniak
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.01.2005

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


Coś mi to nie działa.
Fatal error: Call to undefined function: simplexml_load_string() in ..... on line 16

Ten post edytował giermaniak 3.01.2005, 00:43:39
Go to the top of the page
+Quote Post
bela
post
Post #4


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

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


moze masz php4 ?


--------------------
Go to the top of the page
+Quote Post
bregovic
post
Post #5





Grupa: Zarejestrowani
Postów: 562
Pomógł: 15
Dołączył: 8.08.2003
Skąd: Denmark/Odense

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


Jeśli nie masz simplexml to zawsze możesz użyć miniXML.


--------------------
Prank - for the fun. Mac - for the simplicity. Deviantart - for the kick.
Life is ours, We live it our way -- Metallica
Go to the top of the page
+Quote Post
crash
post
Post #6





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

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


No to jeszcze raz, z mniejszą ilością udziwnień:
  1. <?php
  2. $url ='http://www.nbp.pl/Kursy/KursyA.html';
  3.  
  4. if($f = @fopen($url, 'r'))
  5. {
  6.     while(!feof($f))
  7.     {
  8.         $line = fgets($f);
  9.         
  10.         if(strpos($line, 'dolar amerykański'))
  11.         {
  12.             fgets($f);
  13.             $kurs = fgets($f);
  14.             break;
  15.         }
  16.     }
  17.     
  18.     fclose($f);
  19.  
  20.     preg_match('#<td class=\"bg1\">[0-9,]+</td>#', $kurs, $wynik);
  21.  
  22.     echo $wynik[0];
  23. }
  24. else
  25. {
  26.     echo 'Połączenie nieudane.';
  27. }
  28. ?>


Ten post edytował crashu 3.01.2005, 14:06:57


--------------------
Go to the top of the page
+Quote Post
giermaniak
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 1.01.2005

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


Dzięki teraz poszło.

Pozdrawiam i polecam się na przyszłość.
Paweł
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 21:40