Есть два варианта получения официальных курсов валют ЦБ РФ:
- Парсить соответствующую страницу сайта;
- Воспользоваться web-сервисом ЦБ РФ для получения ежедневный данных;
Мы разработали специальный PHP-класс для использования Web-сервиса Центрального Банка России.
PHP-класс для получения курсов валют с сайта ЦБ РФ:
Для использования класса ExchangeRatesCBRF необходимы:
- PHP 5 и выше;
- Библиотеки SOAP и SimpleXML.
При создании экземпляра объекта ExchangeRatesCBRF укажите в параметрах дату, на которую необходимо получить курсы валют ЦБ РФ. Если дату не указать, то будут получены курсы всех валют на текущую дату.
Репозиторий на Github
Скачать Master
Исходный код
Установка ExchangeRatesCBRF
Установка с помощью Composer
composer require thalidzhokov/exchange-rates-cbrf
ИЛИ подключите ExchangeRatesCBRF.php в PHP-код
require_once("ExchangeRatesCBRF.php");
Примеры использования класса ExchangeRatesCBRF для получения курсов валют с ЦБ РФ
Пример 1. Получение и вывод курса Украинской гривны (буквенный код валюты - UAH) на 25.05.2015г.:
$rates = new ExchangeRatesCBRF("2015-05-25"); echo $rates->GetRate("UAH");
Пример 2. Получение кросс-курса Доллара США к Евро на 26.06.2015г.:
$rates = new ExchangeRatesCBRF("2015-06-26"); echo $rates->GetCrossRate("EUR", "USD");
Пример 3. Получение курсов валют, установленных ЦБ РФ на 27.07.2015г.:
$rates = new ExchangeRatesCBRF("2015-07-27"); echo $rates->GetRates();
Установка php-скрипта на заказ - от 999 рублей!
Хотите получить мощное и простое решение для получения курсов валют на сайте, но не хотите терять свое драгоценное время? У нас есть решение! Просто закажите установку скрипта на ваш сайт, и наши специалисты в кратчайшие сроки сделают всю работу за вас!
От вас потребуется предоставить нам доступ к административной панели сайта и хостингу, на котором он размещен.
Стоимость услуги от 999 рублей! В перечень работ, помимо внедрения скрипта на ресурс, так же входит возможность реализации визуального отображения скрипта (к примеру, в виде виджета).
Заполните форму обращения ниже, и мы с вами свяжемся.
Как сказано выше, можно использовать вместо буквенного кода - цифровой
http://cbr.ru/currency_base/daily.aspx?C_month=10&C_year=2010&date_req=26.10.2010 курсы на 26 октября 2010 и цифровые/буквенные коды :)
отличный класс!
Хороший скрипт спасибо.
Большое спасибо. Работает прекрасно. Очень полезная библиотека.
Если не сложно, то поделитесь ссылка на доку по их сервису.
Разве http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx -- единственная необходимая страница, для нормальной работы с сервисом ЦБРФ???
Пожалуйста, поясните как ускорить актуализацию сервиса. Обновленные курсы появляются лишь на следующий день после обновления официальных курсов валют центробанком.
Прекрасный рабочий класс. Спасибо огромное!
http://www.cbr.ru/scripts/root.asp
полный список технических ресурсов сайта ЦБ.
В своё время мне показалось что парсить xml, выдаваемый по запросу http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=31/12/2011&date_req2=31/12/2011&VAL_NM_RQ=R01235 (это курс USD на 31 декабря 2011) несколько проще.
По указанной ссылке нельзя только получить информацию на дату, когда ЦБ не устанавливал курс (например на 06/01/2012).
В моём случае я настроил ежедневный запуск скрипта, который обновляет собственную табличку курсов, А основная программа работает уже с внутренней БД курсов валют, что сильно проще и быстрей работает.
Кстати, "завтрашний" курс на сайте ЦБ появляется с двух до пяти вечера текущего дня.
На базе данного скрипта мы подготовили модуль курсов валют для Joomla 2.5
не в курсе, где можно получать курсы для грузинских лари GEL ?
Спасибо.
вылазит ошибка
readfile(http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL) [function.readfile]: failed to open stream: Redirection limit reached, aborting