Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie aktualnego kursu!
vcs
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.09.2005

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


Ptrzebuje sobie pobrać do tablicy aktualny kurs waluty takiej jak USD GBP np.
$waluta['USD']= 3,1848;

do tej zmiennej potrzebuje wpisać aktualny kurs i musze kurs pobrac ze stronki np.:
http://www.nbp.pl/Kursy/KursyA.html

jak pobrac czysto tylko kurs USD bo jak bende wiedział jak go pobrać to sobie juz poradze z następną walutą!

Jest tam tez dostepny plik xml ale znowu nieumiem obslugi xml przez php i mam zamało czasu by się jej nauczyć po swojemu. Najchętniej bym był zadowlony jakbymi ktoś napisał jak w najprostszy sposób pobrać z tego pliku xml lub html te kursy walut!

Z góre dziękuje za pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
sf
post
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Bez parsowania xmla.. pobierasz plik i wyrazeniem regularnym go przeszukujesz.

<td class="bg1">dolar amerykański</td>
<td class="bg1">1 USD</td>
<td class="bg1">3,1848</td>

wyciagasz walute i przelicznik
Go to the top of the page
+Quote Post
vcs
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 11.09.2005

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


NO dobra ale jak to zrobić jak po tym przlecieć i zpisać w łatwy sposób bo ja zabardzo niewiem jak to mam zrobić !
Go to the top of the page
+Quote Post
sf
post
Post #4





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Wydaje mi sie, ze forum ma bardziej pomagac przy problemach, a jesli chcesz gotowy kod to poprostu proponowalbym dzial praca oferowana.

Jesli potrzebne Ci nazwy funkcji to : pobierasz plik za pomoca np fsockopen , potem robisz petle while i uzywasz preg_match i wydobywasz dane. Sam kiedys takie cos pisalem.. 2 dni i bedziesz mial. Osobiscie teraz uzylbym parsowania tego pliku xml.

Ten post edytował sf 11.09.2005, 10:22:17
Go to the top of the page
+Quote Post
mhs
post
Post #5





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

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


Cytat(vcs @ 2005-09-11 01:21:03)
Jest tam tez dostepny plik xml ale znowu nieumiem obslugi xml przez php i mam zamało czasu by się jej nauczyć po swojemu. Najchętniej bym był zadowlony jakbymi ktoś napisał jak w najprostszy sposób pobrać z tego pliku xml lub html te kursy walut!

Z góre dziękuje za pomoc!

Pobranie walut na stronę z pliku XML to kilka linijek kodu, a zrozumienie tego to kilka minut. Wpisz w wyszukiwarkę (google) "NBP" i na pierwszej pozycji dostaniesz to czego oczekujesz.
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Temat byl juz wielokrotnie poruszany -- na forum powinny sie znajdowac gotowe skrypty do pobierania tych danych.

Najbardziej denerwuje mnie ze NBP zmienia za kazdym razem nazwe pliku XML.
Go to the top of the page
+Quote Post
sf
post
Post #7





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


http://www.nbp.pl/Kursy/xml/dir.txt - chyba tak latwiej pobrac aktualny kurs niz przeszukiwac plik html (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
NoiseMc
post
Post #8





Grupa: Zarejestrowani
Postów: 398
Pomógł: 10
Dołączył: 24.11.2004
Skąd: Łódź

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


A ja sobie poeksperymentowałem, może się komuś przyda:

Zczytywanie aktualnych kursów:
  1. <?php
  2.  
  3. $resPolalczenie = fsockopen ( "www.nbp.pl", 80 );
  4.  
  5. if ( $resPolalczenie )
  6. {
  7. /* Zczytuję nazwy wszystkich XML - i z kursami walut */
  8.  
  9. $strHeaders = 'GET /Kursy/xml/dir.txt HTTP/1.0' . "rn"; 
  10. $strHeaders .= 'Host: www.nbp.pl' . "rn";
  11. $strHeaders .= 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.10) Gecko/20050717 Firefox/1.0.6' . "rnrn";
  12.  
  13. fputs ( $resPolalczenie, $strHeaders );
  14.  
  15. while ( ! feof ( $resPolalczenie ) ) 
  16. {
  17. /* Wrzucam je do tabeli */
  18. $arrPlikiXML[] = fgets ( $resPolalczenie, 128 ); 
  19. }
  20.  
  21. /* Odwracam kolejność tabeli */
  22. $arrPlikiXML = array_reverse ( $arrPlikiXML ); 
  23.  
  24. /* Zczytuję nazwę najaktualniejszego */
  25. $strDzisiejszyXML = trim ( $arrPlikiXML[0] ); 
  26.  
  27. fclose ( $resPolalczenie );
  28. }
  29.  
  30. $resPolalczenie = fsockopen ( "www.nbp.pl", 80 );
  31.  
  32. if ( $resPolalczenie )
  33. {
  34. /* Otwieram najaktualniejszy plik XML z kursami walut */
  35.  
  36. $strHeaders = 'GET /Kursy/xml/' . $strDzisiejszyXML . '.xml HTTP/1.0' . "rn"; 
  37. $strHeaders .= 'Host: www.nbp.pl' . "rn";
  38. $strHeaders .= 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.10) Gecko/20050717 Firefox/1.0.6' . "rnrn";
  39.  
  40. fputs ( $resPolalczenie, $strHeaders );
  41.  
  42. while ( ! feof ( $resPolalczenie ) ) 
  43. {
  44. /* Wrzucam do tablicy */
  45. $arrXMLKursy[] = fgets ( $resPolalczenie, 128 ); 
  46. }
  47.  
  48. $intArrLn = count ( $arrXMLKursy );
  49.  
  50. /* Ucinam 10 pierwszysch linii, które są nagłówkami HTTP wysłanymi przez NBP */
  51. for ( $i = 11 ; $i < $intArrLn ; $i++ ) 
  52. {
  53. if ( $i == 12 )
  54. {
  55. /* Dokładam link do XSL, żeby sformatowac dane */
  56. $strXMLKursy .= '<?xml-stylesheet type="text/xsl" href="style.xsl"?>' . "rn"; 
  57. }
  58.  
  59. $strXMLKursy .= $arrXMLKursy[$i];
  60. }
  61.  
  62. /* Zawartość będzie wyrzucana do przeglądarki jako xml */
  63. header ( 'Content-Type: text/xml' ); 
  64.  
  65. /* Wyrzucam XML do przeglądarki */
  66. print ( $strXMLKursy ); 
  67.  
  68. fclose ( $resPolalczenie );
  69. }
  70. ?>


Formatowanie:
  1. <?xml version="1.0" encoding="iso-8859-2"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3.      <xsl:template match="/">
  4.            <html>
  5.                  <head>
  6.                        <title>
  7.                              <xsl:apply-templates select="//numer_tabeli" />
  8.                        </title>
  9.                        <style type="text/css">
  10.                              body, td
  11.                              {
  12.                                    font-family: Georgia, Arial;
  13.                                    font-size: 12px;
  14.                              }                        
  15.                              td, th
  16.                              {
  17.                                    border: 1px dashed black;
  18.                              }
  19.                              th
  20.                              {
  21.                                    background-color:#EEEEEE;
  22.                              }
  23.                              h1
  24.                              {
  25.                                    font-size:16px;
  26.                                    font-weight:bold;
  27.                              }                        
  28.                        </style>
  29.                  </head>
  30.                  <body>
  31.                        <h1>
  32.                              <xsl:apply-templates select="//numer_tabeli" />
  33.                              <br />
  34.                              <xsl:apply-templates select="//data_publikacji" />
  35.                        </h1>
  36.                        <table cellpadding="5">
  37.                              <tr>
  38.                                    <th><strong>Waluta</strong></th>
  39.                                    <th><strong>Kurs</strong></th>
  40.                              </tr>
  41.                              <xsl:apply-templates select="//pozycja" />
  42.                        </table>
  43.                  </body>
  44.            </html>
  45.      </xsl:template>
  46.      <xsl:template match="pozycja">
  47.            <tr>
  48.                  <td><xsl:value-of select="nazwa_waluty" /> <xsl:value-of select="kod_waluty" /></td>
  49.                  <td><xsl:value-of select="kurs_sredni" /></td>
  50.            </tr>
  51.      </xsl:template>
  52.      <xsl:template match="tabela_kursow">
  53.            <xsl:value-of select="numer_tabeli" />
  54.      </xsl:template>
  55.      <xsl:template match="tabela_kursow">
  56.            <xsl:value-of select="data_publikacji" />
  57.      </xsl:template>
  58. </xsl:stylesheet>


Ten post edytował NoiseMc 24.09.2005, 15:29:32
Go to the top of the page
+Quote Post
lutel
post
Post #9





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.05.2007

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


Hula, zastasowane w kursach walut na http://www.przelicznik.pl
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 - 15:13