<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

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

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

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

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

Многие из Вас неоднократно видели, что на некоторых сайтах выводятся курсы валют. Разумеется, администраторы этих сайтов сами ежедневно их не меняют (надеюсь). Они их подгружают с сайта ЦентроБанка. И в этой статье я дам код 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 />";
    }
  }
?>

Я постарался код тщательно прокомментировать, поэтому с его пониманием проблем возникнуть не должно. Так же, чтобы понять, почему столько и почему именно такие циклы, а также откуда берутся определённые условия, я настоятельно рекомендую зайти по ссылке из кода (только дату подставьте). Тогда Вы увидите XML-документ, и Вам уже будет гораздо проще понять, почему именно такой код был написан.

Вот так легко можно загрузить курсы различных валют мира с использованием PHP.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (11):

shamil shamil 01.04.2013 14:05:03

не могу сменить кодировку.у меня на сайте windows-1251.в коде все испробывал.абракадабры выходят.как можно исправить?

Ответить

Admin Admin 01.04.2013 17:05:41

http://myrusakov.ru/php-encoding-problems.html

Ответить

shamil shamil 13.06.2013 21:18:08

михаил,можно ли оставить етот файл в дерриктории сайта,и извлеч из него переменные в document.write для всех страниц сайта?потому-что зто не совсем постой код.

Ответить

Admin Admin 13.06.2013 21:28:00

Можно, только этот файл надо будет подключать через require_once, а после выводить полученные переменные из него через PHP.

Ответить

madmax1234 madmax1234 31.10.2013 00:17:05

А как сделать показ курса валют в одну строку?

Ответить

Admin Admin 31.10.2013 10:17:17

Убрать <br /> из кода.

Ответить

se007 se007 13.11.2013 00:50:38

Добрый день, прошу автора мне помочь нужно реализовать вывод инфы из xml файла, (по аналогии что-то не получилось сделать) http://www.aviasales.ru/latest-offers.xml вывод на сайте на Вордпресс.Спасибо

Ответить

cromsatell cromsatell 30.01.2014 14:23:18

А возможно ли откорректировать скрипт.. Т.е выводить курс по отношению не к рублю, а к евро. Что бы выводилось примерно так: Доллар США= хх евро а в идеале так: 1 евро= xx Долларов США и соответственно так же с еще парой валют. С самим рублем например и Украинской гривной. Ну тут уже по аналогии. Вообще возможно ли такое решение

Ответить

tikkiwiki tikkiwiki 31.01.2014 12:15:47

Денис, ничего не реального в этом не вижу.

Ответить

spirit spirit 17.03.2014 01:57:59

Я так делаю: $xml = simplexml_load_file('http://www.cbr.ru/scripts/XML_daily.asp'); $usd = (string)$xml->Valute[9]->Value; $eur = (string)$xml->Valute[10]->Value;

Ответить

frol frol 06.11.2014 17:59:29

Скажите пожалуйста почему этот скрипт работает на локалке а при переносе сайта на хостинг скрипт не работает??,использую MODX

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.