SeoLik

27 сентября 2021, 2:37
318

С помощью данного скрипта можно определить курс с официального сайта ЦентроБанка. Список всех валют можно посмотреть тут https://www.cbr.ru/scripts/XML_daily.asp  Курс доллара это код R01235, а курс евро это R01239. Также можно получить значения курса на конкретную дату, для этого нужно добавить параметр date_req со значением даты в формате dd/mm/yyyy. Другие примеры с PHP cURL.

$url = 'https://www.cbr.ru/scripts/XML_daily.asp'; // Ссылка на XML-файл с курсами валют, будут самые актуальные значения курса

//$current_date = date("d/m/Y"); // текущая дата в нужном формате
//$url = 'https://www.cbr.ru/scripts/XML_daily.asp?date_req='.$current_date; // Ссылка на XML-файл с курсами валют за конкретную дату

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$content = curl_exec($ch);
curl_close($ch);

$xml = @simplexml_load_string($content);

foreach ($xml->Valute as $item) {

// R01235 - Доллар США
// R01239 - Евро

if ($item['ID'] == 'R01235') {
$usd = $item->Value;
}

if ($item['ID'] == 'R01239') {
$eur = $item->Value;
}


}

if (!empty($usd)) {
$usd = str_replace(',', '.', $usd); // меняем , на .
}

if (!empty($eur)) {
$eur = str_replace(',', '.', $eur); // меняем , на .
}


echo $usd.'<br>';
echo $eur;

/*
73.0081
85.6823
*/

Обратите внимание, что если вы будете совершать большое количество обращений в единицу времени, то сайт ЦБ может вас "забанить".