Вы можете повысить информативность и полезность своего сайта для посетителей, разместив на нем информацию о лучших курсах обмена валют в банках Москвы. Сайт KOVALUT.RU предлагает данные в формате XML о лучших курсах валют в банках Москвы и курсах валют Центрального Банка России (ЦБ). Обладая исходными данными о курсах валют в XML - можно органично вписать их в дизайн сайта.
Так же, данные о лучших курсах валют в Москве и курсах валют Центрального Банка России доступны в формате текстовых и графических информеров.
Внимание! Использование информации, представленной в XML формате, допускается только при условии, что непосредственно над или под блоком с информацией о курсах валют на вашей странице будет указана ссылка на источник информации. Гиперссылка должна указывать на страницу сайта KOVALUT.RU с курсами валют в Москве:
При переходе по данной гиперссылке посетитель сможет подробнее ознакомиться с курсами обмена валют в банках Москвы. Экспорт лучших курсов валют в банках Москвы и курсов ЦБ выполняется в формате XML с адреса:
https://informer.kovalut.ru/webmaster/getxml.php?kod=7701
Ниже располагаются: пример содержания XML; описание формата XML; пример PHP скрипта.
Содержание XML данных выглядит так:
City | информация о лучших курсах покупки и продажи валюты в банках города: |
Name | наименование города |
Simple_Date | дата курсов валют в текстовом формате |
Digital_Date | дата курсов валют в цифровом формате |
USD | информация о курсах доллара: |
Buy | лучший курс покупки доллара в банках города |
Sell | лучший курс продажи доллара в банках города |
EUR | информация о курсах евро: |
Buy | лучший курс покупки евро в банках города |
Sell | лучший курс продажи евро в банках города |
Central_Bank_RF | информация о курсах валют Центрального Банка России (ЦБ): |
USD | информация о курсах доллара: |
New | информация о новом (последнем по времени) курсе ЦБ: |
Digital_Date | дата курсов валют в цифровом формате |
Exch_Rate | курс обмена ЦБ |
Old | информация о старом (предпоследнем по времени) курсе ЦБ: |
Digital_Date | дата курсов валют в цифровом формате |
Exch_Rate | курс обмена ЦБ |
EUR | информация о курсах евро: |
New | информация о новом (последнем по времени) курсе ЦБ: |
Digital_Date | дата курсов валют в цифровом формате |
Exch_Rate | курс обмена ЦБ |
Old | информация о старом (предпоследнем по времени) курсе ЦБ: |
Digital_Date | дата курсов валют в цифровом формате |
Exch_Rate | курс обмена ЦБ |
<?php
/*
PrintXML ver 1.03 от 6 февраля 2012 года
Данный скрипт загружает курсы валют в формате XML с сайта kovalut.ru и выводит их в виде HTML таблицы.
При этом загрузка новых курсов с сайта kovalut.ru происходит с использование кэширования.
Курсы загружаются с сайта, только если время модификации файла kov_7701.xml на Вашем сервере
устарело на определенную величину ($Reload_Period). В противном случае курсы извлекаются
непосредственно из файла kov_7701.xml. Такое кэширование ускорит загрузку Вашей страницы.
Если периодическая загрузка XML файла 'kov_7701.xml' с сайта kovalut.ru будет
осуществляться сторонними средствами, то функции:
Load_XML_From_Kov_RF()
Get_Kov_XML()
GetFileTime()
можно убрать из программы и еще нужно будет заменить строку:
$Kov_XML_Str = Get_Kov_XML();
на строку:
$Kov_XML_Str = file_get_contents('kov_7701.xml');
*/
#Инициализируем глобальные переменные
$Site_Encoding = 'UTF-8'; #если Ваш сайт работает в кодировке UTF-8.
#$Site_Encoding = 'Windows-1251'; #если Ваш сайт работает в кодировке Windows-1251.
$Kov_City_Kod = '7701'; #Код города на сайте kovalut.ru
$Reload_Period = 300; #Время в секундах, по истечении которого необходимо обновлять
#файл kov_7701.xml с курсами валют.
$Work_Dir = './'; #Рабочий каталог. в нем сохраняются загруженный kov_7701.xml
Kov_Main();
#Kov_Main - отображает курсы валют на Вашем Сайте.
function Kov_Main()
{ #Загружаем XML с курсами валют в строкувую переменную $Kov_XML_Str
$Kov_XML_Str = Get_Kov_XML();
if ($Kov_XML_Str)
{ #Создаем XML элемент на основе загруженной выше строки
$XML = new SimpleXMLElement($Kov_XML_Str);
#Печатаем XML элемент, загруженный с сайта kovalut.ru
if ($XML)
{ Print_Kov_XML($XML);
}
}
}
#Print_Kov_XML - печатает курсы валют в городе и курсы валют ЦБ в виде таблицы
#Вы можете переписать данную функцию, чтобы она выводила курсы на Вашем сайте так, как Вам нужно.
function Print_Kov_XML($XML)
{ global $Kov_City_Kod, $Site_Encoding;
#Проверяем необходимость перекодировки из UTF-8 в кодировку, установленную на сайте:
if ($Site_Encoding == 'UTF-8')
{ #Перекодировка не требуется. Просто загружаем переменные данными из XML
$CityName = $XML->City->Name;
$CityDate = $XML->City->Simple_Date;
}
else
{ #Перекодируем текстовые значения из кодировки UTF-8 в кодировку, установленную на сайте:
$CityName = mb_convert_encoding($XML->City->Name, $Site_Encoding, "UTF-8");
$CityDate = mb_convert_encoding($XML->City->Simple_Date, $Site_Encoding, "UTF-8");
}
#Выводим HTML таблицу с курсами валют в городе и последние курсы установленные
#Центральным Банком России
print <<<END_OF_RECORD
<table style="text-align: center;" border="0" cellpadding="0" cellspacing="3">
<tr>
<td colspan="3"><a href = "http://kovalut.ru/index.php?kod=$Kov_City_Kod" style="color: #000000;">{$CityName}
<br />{$CityDate}
<br />Курсы валют в банках</a>
</td>
</tr>
<tr>
<td> </td>
<td>покупка</td>
<td>продажа</td>
</tr>
<tr>
<td align="left">Доллар</td>
<td>{$XML->City->USD->Buy}</td>
<td>{$XML->City->USD->Sell}</td>
</tr>
<tr>
<td align="left">Евро</td>
<td>{$XML->City->EUR->Buy}</td>
<td>{$XML->City->EUR->Sell}</td>
</tr>
<tr> <td colspan="3"><b>Курсы ЦБ</b></td> </tr>
<tr>
<td align="left">Доллар</td>
<td>(c {$XML->Central_Bank_RF->USD->New->Digital_Date}):</td>
<td>{$XML->Central_Bank_RF->USD->New->Exch_Rate}</td>
</tr>
<tr>
<td align="left">Евро</td>
<td>(c {$XML->Central_Bank_RF->EUR->New->Digital_Date}):</td>
<td>{$XML->Central_Bank_RF->EUR->New->Exch_Rate}</td>
</tr>
</table>
END_OF_RECORD;
}
#Get_FileTime - возвращает время модификации файла если он существует.
#Возвращает 0, если файла не существует.
function GetFileTime($filename)
{ return ((file_exists($filename)) ? filemtime($filename) : 0);
}
#Get_Kov_XML - возвращает строку, содержащую XML c курсами валют
#Курсы загружаются из файла kov_7701.xml, если время модификации файла еще не устарело.
#Если время модификации файла устарело - XML c курсами извлекается с сайта и сохраняется в файле kov_7701.xml
function Get_Kov_XML()
{ global $Work_Dir, $Kov_City_Kod, $Reload_Period;
$buf =''; #В данную переменную будет загружен XML с курсами валют
#Создаем переменную с именем файла, в котором будет хранится XML с курсами валют:
$XML_File_Name = "{$Work_Dir}kov_{$Kov_City_Kod}.xml";
#Проверяем, устарело ли время модификации файла kov_7701.xml.
if (time() > (GetFileTime($XML_File_Name) + $Reload_Period))
{ #Сразу изменяем время модификации файла, чтобы минимизировать число лишних
#параллельных загрузок XML с сайта
touch($XML_File_Name);
#Загружаем XML c сайта kovalut.ru:
$buf = Load_XML_From_Kov_RF();
#Проверяем, удалось ли загрузить XML с сайта:
if ($buf)
{ #Загрузить с сайта получилось. Сохраняем XML с сайта в файл
file_put_contents($XML_File_Name, $buf);
}
}
if (!$buf)
{ #XML не был загружен с сайта (или не получилось или время модификации файла kov_7701.xml
#еще не устарело). Загружаем XML с курсами валют из файла.
$buf = file_get_contents($XML_File_Name);
}
return($buf);
}
#Load_XML_From_Kov_RF - возвращает строку, содержащую XML c курсами
#валют с сайта kovalut.ru В случае, если правильные XML данные загрузить
#не удалось - возвращается пустая строка.
function Load_XML_From_Kov_RF()
{ global $Kov_City_Kod;
$Kov_Site = 'http://informer.kovalut.ru'; #Адрес сайта, с которого нужно загружать xml
#Расположение скрипта, возвращающего XML с курсами:
$Kov_XML_Loc = '/webmaster/xml-table.php?kod='.$Kov_City_Kod;
#$Kov_XML_Loc = '/webmaster/getxml.php?kod='.$Kov_City_Kod;
$buf =''; #В данную переменную будет считан XML с курсами валют
$OldErrorReportLevel = error_reporting(0);
#Открываем соединение с сайтом kovalut.ru по порту 80 и таймаутом 10 секунд.
$buf = file_get_contents($Kov_Site.$Kov_XML_Loc);
if (!$buf)
{ #Здесь можно обрабатывать ошибку, если не удалось установить
#соединение с сайтом kovalut.ru.
#echo "$errstr ($errno)<br />\n";
}
else
{ #$XMLTempl - шаблон правильных XML данных.
$XMLTempl = "\A<\\x3Fxml version=\"1.0\" encoding=\"utf-8\"\\x3F>\n<Exchange_Rates>.+?<\/Exchange_Rates>\Z";
#Проверяем, соответствуют ли загруженные данные - шаблону правильных XML данных
if (!preg_match("/$XMLTempl/is", $buf, $matches))
{ #Не удалось загрузить правильные XML данные. Возвращаем пустую строку.
$buf = '';
}
}
#Восстанавливаем изначальный уровень сообщений об ошибках
error_reporting($OldErrorReportLevel);
return($buf);
}
?>
Москва
11 февраля 2021 Курсы валют в банках |
||
покупка | продажа | |
Доллар | 73,55 | 73,82 |
Евро | 89,30 | 89,60 |
Курсы ЦБ | ||
Доллар | (c 12.02.2021): | 73.7579 |
Евро | (c 12.02.2021): | 89.4388 |