Как вывести курсы валют на сайте

Здравствуйте дорогие друзья! В этом уроке я покажу, как можно получить и вывести на сайт текущие курсы валют.

Как вывести курсы валют на сайте

Итак, выводить мы будет курс доллара и курс евро на сегодня. Для того, чтобы эти самые курсы вывести на сайте, их необходимо откуда-то получить – логично.

Источником данных станет проверенный мной сервис, а именно Yahoo API.

В свое время, когда мне необходимо было выводить курсы валют на одном из сайтов, одна из основных проблем была связана с отсутствием стабильного источника курсов валют – пришлось перепробовать множество сервисов, которые, бывало, переставали работать, либо просто-напросто отдавали неверные данные.

Давайте рассмотрим простенький код:


	$json_kurs = file_get_contents('https://query.yahooapis.com/v1/public/yql?q=select+*+from+yahoo.finance.xchange+where+pair+=+%22USDRUB,EURRUB%22&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=');
	$json_kurs = json_decode($json_kurs, true);
	$usd = $json_kurs['query']['results']['rate']['0']['Rate'];
	$euro = $json_kurs['query']['results']['rate']['1']['Rate'];
	
	echo '<div id="kurs_valut">Доллар: '.$usd.'  Евро: '.$euro.'.</div>';

Что делает этот код:

  • С помощью функции file_get_contents получаем необходимые данные в формате json
  • Функция json_decode преобразует json код в многомерный массив.
  • В переменные usd и euro, обращаясь к массиву, помещаем курсы доллара и евро соответственно.
  • Выводим курсы валют.

Вот таким несложным способом можно получить и вывести необходимые данные.

У многих должен возникнуть вопрос, касающийся слишком частого обращения к Yahoo, поэтому в следующем уроке я приведу пример кода, с помощью которого можно будет, во-первых, кэшировать данные, и во-вторых можно будет задать частоту запроса, например, сделав так, чтобы курсы валют обновлялись каждый час.

На этом все, до новых статей, удачи!


Хостинг, которым я пользуюсь: Good-Host


Похожие статьи

  1. Александр пишет:

    Спасибо Вам за полезную статью, то что было нужно!

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

*

code

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>