В этой статье вы прочтёте о том, как сделать вывод курс валют на ваш сайт с использованием языка программирования PHP.
Также сделаем конвертер валют и в конце вы сможете скачать файлы из этой статье.
Получение курса валют на PHP:
Перед тем как конвертировать валюты, нужно их получить, для этого нужно зайти на сайт центра банка по этой ссылки, там выбираем ссылку формата которого вам надо получать данные, я же буду показывать для формата JSON.
По сути мы просто будем отправлять GET запрос и получать в качестве ответа JSON данные, которые надо будет переделать в обычный PHP массив.
1 2 3 4 5 6 7 8 9 10 11 12 | // Ссылка куда будем отправлять GET запрос $url = "https://www.cbr-xml-daily.ru/daily_json.js"; // Создаём запрос $ch = curl_init(); // Настройки запроса curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Отправка и декодинг ответа $data = json_decode(curl_exec($ch), $assoc=true); // Закрытие запроса curl_close($ch); |
Давайте кратко разберём этот код, сначала объявляем переменную, в которой хранится URL куда отправлять запрос, потом создаём его настраиваем и отправляем с помощью curl_exec($ch)
и получаем ответ, одновременное с этим его декодируем в обычный массив благодаря json_decode()
, закрываем запрос.
Теперь проверим какие данные хранятся в полученном массиве, вот как это делается.
1 2 3 | echo '<pre>'; print_r($arr); echo '</pre>'; |
Вот результат.
Как видите мы теперь имеем массив, наверное со всеми валютами мира, и их ценами, также нам приходят данные о времени и откуда взяты данные.
Но нам нужно получить стоимость доллара, для этого, используем этот код.
1 2 | $USD = $data["Valute"]["USD"]["Value"]; // Получаем стоимость доллара echo "Доллар в рублях: $USD"; // Выводим на экран |
Как видите мы просто берём из трёхмерного массива данные стоимости и сохраняем в переменную $USD
, и выводим её на экран.
Вот результат работы программы.
Примерно так и получаем курс доллара в PHP, но таким же способом можно получать и другие валюты, вам просто нужно их найти в этом массиве и всё.
Конвертер валют на PHP:
Теперь сделаем простой конвертер валют, а точнее доллара на PHP, но точно таким же способом вы сможете сделать конвертер для любой валюты.
HTML:
Для этого сделаем не большую HTML форму, куда будем вводить количество долларов и потом при отправки, будет вычисляться сколько это рублей.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <!DOCTYPE html> <html lang="en"> <head> <title>Доллары в рублях</title> </head> <body> <p>Доллар в рублях: <?= $USD ?></p> <hr> <form action="/" method="get"> <p>Доллары: <input type="number" name="usd"></p> <input type="submit" value="Отправить" name="go"> </form> <p>Итог: <?= $USD_in_RUB ?></p> </body> </html> |
Тут в целом всё просто, обычная форма, единственное, после формы мы выводим переменную $USD_in_RUB
, в ней мы храним результат конвертации.
Если вы не знаете как работать с формой, то прочтите сначала часть нашего учебника: PHP работа с формой.
PHP:
PHP код тут совсем простой, всего лишь три строчки, вот он.
1 2 3 4 5 | // Проверка, нажата ли кнопка отправки if ($_GET["go"]) { // Конвертируем $USD_in_RUB = round($_GET["usd"] * $USD); } |
Всё действительно просто, мы просто умножаем количество долларов, которые мы отправили, на его стоимость в рублях, также округляем с помощью round()
, до целого числа, вот результат.
Всё работает, это совсем простой пример, но вы можете его усложнить, тем самым получится очень крутой конвертер валют, основа будет точно такая же.
Вывод:
В этой статье мы разобрали как добавить курс валют на ваш сайт в PHP, также сделали совсем простой конвертер.
Если вам что то тут не понято, то посмотрите наш учебник по основам PHP.