/ it Задачи / Получение курсов валют в реальном времени

Получение курсов валют в реальном времени

Получение курсов валют в реальном времени

345 · 31 октября 2017 в 15:47 ·
Очень важно уметь работать с данными полученными с других веб-сайтов. Мы расскажем как конвертировать курсы валют в реальном времени при помощи PHP.
Мы будем использовать сайт Yahoo Финасы для получения данных про курсы валют. Выбор пал именно на этот сервис, так как он предоставляет данные в формате JSON, кроме того, обновление курсов происходит постоянно, что гарантирует нам получение правильного курса валют.

Весь наш код будет выглядеть следующим образом:
$from = 'RUB';
$to = 'USD';
$url = 'http://finance.yahoo.com/d/quotes.csv?f=l1d1t1&s='.$from.$to.'=X';
$handle = fopen($url, 'r');
 
if ($handle) {
    $result = fgetcsv($handle);
    fclose($handle);
}
 
echo '1 '.$from.' стоит '.$result[0].' '.$to.'<br>';
echo 'Дата обновления курса: '.$result[1].' '.$result[2];
Из этого мы получим следующую строку:
1 RUB стоит ЗНАЧЕНИЕ USD.
Дата обновления курса: 10/10/2017 20:11am

Небольшое объяснение

Изначально мы создаем три переменные, которые будут отвечать за валюты, а также переменную для URL адреса страницы.

Помимо рублей и долларов вы можете записывать другие валюты разных стран. К примеру, для конвертации 1 британского фунта в гривны вам потребуется прописать такие переменные:
$from = 'GBP';
$to = 'UAH';
Далее мы открываем файл по ссылке и считываем информацию. После этого мы закрываем файл.

В ссылке можно обнаружить три параметра:
  • l1 – курс обмена. Возвращается как первый элемент - result[0];
  • d1 – дата обновления курса. Возвращается как второй элемент - result[1];
  • t1 – время обновления курса. Возвращается как третий элемент - result[2].
Если нам нужен только курс, то можно записывать ссылку следующим образом:
$from = 'RUB';
$to = 'USD';
$url = 'http://finance.yahoo.com/d/quotes.csv?f=l1&s='.$from.$to.'=X';

Больше интересных новостей