Загрузка...

PHP скрипт для загрузки курсов валют

Тема в разделе Backend создана пользователем Hangman666 13 июн 2016. 494 просмотра

Загрузка...
  1. Hangman666
    Hangman666 Автор темы 13 июн 2016 Хранитель Идей 342 10 мар 2016
    Многие из Вас неоднократно видели, что на некоторых сайтах выводятся курсы валют. Разумеется, администраторы этих сайтов сами ежедневно их не меняют (надеюсь). Они их подгружают с сайта ЦентроБанка. И в этой статье я дам код PHP-скрипта для загрузки курсов валют с сайта ЦентроБанка и вывода их на страницу.

    Код
    <?php
    $date = date("d/m/Y"); // Сегодняшняя дата в необходимом формате
    $link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date"; // Ссылка на XML-файл с курсами валют
    $content = file_get_contents($link); // Скачиваем содержимое страницы
    $dom = new domDocument("1.0", "cp1251"); // Создаём DOM
    $dom->loadXML($content); // Загружаем в DOM XML-документ
    $root = $dom->documentElement; // Берём корневой элемент
    $childs = $root->childNodes; // Получаем список дочерних элементов
    $data = array(); // Набор данных
    for ($i = 0; $i < $childs->length; $i++) {
    $childs_new = $childs->item($i)->childNodes; // Берём дочерние узлы
    for ($j = 0; $j < $childs_new->length; $j++) {
    /* Ищем интересующие нас валюты */
    $el = $childs_new->item($j);
    $code = $el->nodeValue;
    if (($code == "USD") || ($code == "EUR")) $data[] = $childs_new; // Добавляем необходимые валюты в массив
    }
    }
    /* Перебор массива с данными о валютах */
    for ($i = 0; $i < count($data); $i++) {
    $list = $data[$i];
    for ($j = 0; $j < $list->length; $j++) {
    $el = $list->item($j);
    /* Выводим курсы валют */
    if ($el->nodeName == "Name") echo $el->nodeValue." - ";
    elseif ($el->nodeName == "Value") echo $el->nodeValue." рублей<br />";
    }
    }
    ?>
     
  2. RaysMorgan
    Я бы использовал PHP Simple HTML DOM Parser, там есть jquery-селекторы, по которым проще парсить информацию
     
Top