<?php
/**************************************************
 *                   Kurs walut                   *
 **************************************************
 * Ostatnia modyfikacja: 01.11.2012 (wersja 2.2)  *
 * Autor: Jacek Kowalski (http://jacekk.info)     *
 *                                                *
 * Strona WWW: http://jacekk.info/scripts/nbp     *
 *                                                *
 * Utwór rozprowadzany na licencji                *
 * http://creativecommons.org/licenses/by-nc/2.5/ *
 **************************************************/

/* Kodowanie znaków UTF-8 */

/*********************************************
 * UWAGA! Ten skrypt nie jest już rozwijany! *
 *********************************************/

// Początek pobierania linku do kursu walut w formacie XML... 
$connect = fsockopen('www.nbp.pl', 80, $errno, $errstr, 10);
if (!
$connect)
    die(
$errstr.' ('.$errno.')');
else
{
    
fwrite($connect, 'GET /kursy/kursya.html HTTP/1.1'."\r\n".'Host: www.nbp.pl'."\r\n".'Connection: close'."\r\n\r\n") or die('Błąd przy wysyłaniu żądania: '.$errstr);
}
while(!
feof($connect)) { 
    
$link .= fread($connect, 4096);
}
fclose($connect);

$link = '/kursy/'.substr(strstr($link, 'xml/'), '0', '19'); 
// Koniec. Link w zmiennej $link.

// Pobieranie arkusza XML
$connect = fsockopen('www.nbp.pl', 80, $errno, $errstr, 10);
if (!
$connect)
    die(
$errstr.' ('.$errno.')');
else
{
    
fwrite($connect, 'GET '.$link.' HTTP/1.1'."\r\n".'Host: www.nbp.pl'."\r\n".'Connection: close'."\r\n\r\n") or die('Błąd przy wysyłaniu żądania: '.$errstr);
}
while (!
feof ($connect)) { 
    
$info .= fgets($connect, 4096);
}
$info = explode('

'
, $info);

$info = str_replace(array('  ' ,'
'
), array('', ''), $info[1]);

$p = xml_parser_create();
xml_parse_into_struct($p, $info, $vals, $index);
xml_parser_free($p);

foreach(
$index['NAZWA_WALUTY'] as $value) {
    
$waluta[$vals[$value+2]['value']]['name'] = $vals[$value]['value'];
    
$waluta[$vals[$value+2]['value']]['ratio'] = $vals[$value+1]['value'];
    
$waluta[$vals[$value+2]['value']]['kurs'] = $vals[$value+3]['value'];
}
echo 
$waluta['USD']['name'].' <b>(USD)</b>: <b>'.$waluta['USD']['kurs'].'</b><br> '.$waluta['EUR']['name'].' <B>(EUR)</B>: <B>'.$waluta['EUR']['kurs'].'</B>'; 
?>
<hr>
&copy; by <a href="http://jacekk.info" target="_blank">Jacek Kowalski</a>