С помощью данного скрипта можно определить курс с официального сайта ЦентроБанка. Список всех валют можно посмотреть тут 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
*/
Обратите внимание, что если вы будете совершать большое количество обращений в единицу времени, то сайт ЦБ может вас "забанить".