<?php
// Информер ЦБРФ
// E-mail: [email protected]
// ICQ: 92255214
// Skype: suzunec
// Королев Роман Викторович
// *************************************************** Настройки
$napr = 0; // Направление курсов: "0" - валюта -> рубль, "1" - рубль -> валюта
$count = 0; // Количество курсов валют для вывода, "0" - выводить все
$course = array( // Список доступных курсов (Спасибо функции закомментированой в конце скрипта)
'AUD', // Австралийский доллар
'AZN', // Азербайджанский манат
'GBP', // Фунт стерлингов Соединенного королевства
'AMD', // Армянских драмов
'BYR', // Белорусских рублей
'BGN', // Болгарский лев
'BRL', // Бразильский реал
'HUF', // Венгерских форинтов
'DKK', // Датских крон
'USD', // Доллар США
'EUR', // Евро
'INR', // Индийских рупий
'KZT', // Казахских тенге
'CAD', // Канадский доллар
'KGS', // Киргизских сомов
'CNY', // Китайских юаней
'LVL', // Латвийский лат
'LTL', // Литовский лит
'MDL', // Молдавских леев
'NOK', // Норвежских крон
'PLN', // Польский злотый
'RON', // Новых румынских леев
'XDR', // СДР (специальные права заимствования)
'SGD', // Сингапурский доллар
'TJS', // Таджикских сомони
'TRY', // Турецкая лира
'TMT', // Новый туркменский манат
'UZS', // Узбекских сумов
'UAH', // Украинских гривен
'CZK', // Чешских крон
'SEK', // Шведских крон
'CHF', // Швейцарский франк
'ZAR', // Южноафриканских рэндов
'KRW', // Вон Республики Корея
'JPY' // Японских иен
);
$source = 'http://www.cbr.ru/scripts/XML_daily.asp'; // Источник
// *************************************************** Настройки закончились, начинаем работу
$smp = simplexml_load_file($source); // Загружаем документ из источника
// "Рисуем" шапку
echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru"><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8;" />
<title>Курсы валют</title>
<style>h3 {text-align: center;}</style>
</head><body>
<h3>Курсы валют на '.$smp['Date'].'</h3>';
// Выводим курсы валют
$i = 0;
foreach($smp as $valute) // "Пробегаемся" по всем дочерним элементам
{
foreach($course as $crs) // Разбираем список доступных курсов
{
$charcode = $valute->CharCode; // Читаем символьное обозначение валюты
if($charcode == $crs) // Если этот курс доступен выводим его
{
$nominal = $valute->Nominal; // Читаем номинал
$value = $valute->Value; // Читаем курс обмена
// Пересчитываем курс в зависимости от направления и округляем до двух знаков после запятой
if($napr == 0)
{$kurs = '1 '.$charcode.' = '.round($value/$nominal, 2).' Рублей<br/>';}
else
{$kurs = '1 Рубль = '.round($nominal/$value, 2).' '.$charcode.'<br/>';}
// Если "0" выводим все курсы
if($count == 0)
echo $kurs;
// Если указано количество курсов валют для вывода, выводим только это количество
elseif($count > $i)
echo $kurs;
$i++;
}
}
}
// Раскомментиравать для обновления списка доступных курсов
/*foreach ($smp as $valute) {echo '\''.$valute->CharCode.'\', // '.$valute->Name.'<br>';}*/
echo '</body></html>';
?>