Узнать разрешение вашего экрана и IP адрес
Артем Мáлков
171 просм
0 комм
Поделиться

Получаем курсы валют с сайта ЦентроБанка на PHP

В некоторых случаях необходимо узнать актуальную информацию о текущем курсе валют. Кто, как не ЦентроБанк, лучше всего справится с этой задачей?

Поскольку сайт ЦентроБанка предоставляет информацию о курсе валют на текущий день и прошедшие в формате XML, то ею мы и воспользуемся для написания модуля.

<?php
header("Content-Type: text/html; charset=utf-8");
$date = date("d/m/Y");
$content = file_get_contents("https://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date);
$pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
preg_match_all($pattern, $content, $out, PREG_SET_ORDER); 
foreach($out as $cur) { 
if($cur[2] == 036) { $aud = str_replace(",", ".", $cur[4]); } // Австралийский доллар
if($cur[2] == 826) { $gbr = str_replace(",", ".", $cur[4]); } // Фунт стерлингов Соединенного королевства
if($cur[2] == 974) { $byr = str_replace(",", ".", $cur[4]); } // Белорусских рублей
if($cur[2] == 208) { $dkk = str_replace(",", ".", $cur[4]); } // Датских крон
if($cur[2] == 840) { $usd = str_replace(",", ".", $cur[4]); } // Доллар США
if($cur[2] == 978) { $eur = str_replace(",", ".", $cur[4]); } // Евро
if($cur[2] == 352) { $isk = str_replace(",", ".", $cur[4]); } // Исландских крон
if($cur[2] == 398) { $kzt = str_replace(",", ".", $cur[4]); } // Казахстанских тенге
if($cur[2] == 124) { $cad = str_replace(",", ".", $cur[4]); } // Канадский доллар
if($cur[2] == 578) { $nok = str_replace(",", ".", $cur[4]); } // Норвежских крон
if($cur[2] == 960) { $xdr = str_replace(",", ".", $cur[4]); } // СДР (специальные права заимствования)
if($cur[2] == 702) { $sgd = str_replace(",", ".", $cur[4]); } // Сингапурский доллар
if($cur[2] == 949) { $try = str_replace(",", ".", $cur[4]); } // Турецкая лира
if($cur[2] == 980) { $uah = str_replace(",", ".", $cur[4]); } // Украинских гривен
if($cur[2] == 752) { $sek = str_replace(",", ".", $cur[4]); } // Шведских крон
if($cur[2] == 756) { $chf = str_replace(",", ".", $cur[4]); } // Швейцарский франк
if($cur[2] == 392) { $jpy = str_replace(",", ".", $cur[4]); } // Японских иен
} 
?>

Как вы поняли, этот скрипт позволяет вам получать курсы следующих валют: австралийского доллара, фунта стерлингов Соединенного королевства, белорусского рубля, датской кроны, доллара США, eвро, исландской кроны, казахстанского тенге, канадского доллара, норвежской кроны, СДР, сингапурского доллара, турецкой лиры, украинской гривны, шведской кроны, швейцарского франка, японской йены.

Использование следующее:

echo "Доллар - ".$usd;

Где $usd– необходимая валюта (в нашем случае - доллар США).

Помимо того, что курс валют предоставляется на текущий день, его можно также получить и на прошедшие даты. Для этого в скрипте

date("d/m/Y")

замените на нужную вам дату в формате «dd/mm/YYYY».

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария