|
|
|
| Вроде бы все просто, используя скрипт с данного сайта, взял данные для валют Эстонская крона, но не получается вывести.
http://www.cbr.ru/scripts/XML_daily.asp?date_req=22/10/2007&d=1
Помогите, где ошибка
<?php
// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru
$content = get_content();
// Разбираем содержимое, при помощи регулярных выражений
$pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
$eek = "";
foreach($out as $cur)
{
if($cur[2] == 233) $eek = str_replace(",",".",$cur[4]);
}
echo "<dd><strong>1 EEK </strong>= <span>".$eek." руб.</span></dd>";
function get_content()
{
// Формируем сегодняшнюю дату
$date = date("d.m.Y");
// Формируем ссылку
$link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date&d=1";
// Загружаем HTML-страницу
$fd = fopen($link, "r");
$text="";
if (!$fd) echo "Запрашиваемая страница не найдена";
else
{
// Чтение содержимого файла в переменную $text
while (!feof ($fd)) $text .= fgets($fd, 4096);
}
// Закрыть открытый файловый дескриптор
fclose ($fd);
return $text;
}
?>
|
| |
|
|
|
|
|
|
|
для: xray
(22.10.2007 в 16:02)
| | Этот скрипт перестал давно работать так как поменялся xml, если нужно пишите на мыло кину рабочий что стоит на http://www.mashenergy.ru | |
|
|
|
|
|
|
|
для: xray
(22.10.2007 в 16:02)
| | Да вот рабочий код с СБР, нужно только соответствующий код валюты выставить, по идее то все должны. | |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 06:35)
| | Да, код рабочий, но Эстонскую крону не выводит | |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 06:35)
| | Понятно, по данному адресу http://www.cbr.ru/scripts/XML_dynamic.asp нет ID="R01795" Эст. кроны
<?php
# Базовый URL скрипта на cbr.ru
$scripturl = 'http://www.cbr.ru/scripts/XML_dynamic.asp';
# Начальная дата для запроса (сегодня - 2 дня)
$date_1=date('d/m/Y', time()-172800);
# Конечная дата (чтобы учитывать завтра добавьте параметр time()+86400)
$date_2=date('d/m/Y');
# Таким образом, мы получим данные либо за 2, либо за 3 последних дня.
# За 2 - если на "сегодня" курс еще не выставили, иначе - за 3
# Код валюты в архиве данных cbr.ru
$currency_code='R01010'; // Проверил курс Австралийского долара
?>
|
Подставил ID Австралийского долара, выводит нормально.
Где выцепить ID кроны? | |
|
|
|
|
|
|
|
для: xray
(23.10.2007 в 10:53)
| | На сайте взять xml файл - там все вроде бы есть. Вот у меня старый, ну думаю ID не меняется. | |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 11:07)
| | Может я не тот XML беру, но уже не пойму какой, или в данном случае, не правильно адрес разбирается с помощью рег. выражения
<?
# Начальная дата для запроса (сегодня - 2 дня)
$date_1=date('d/m/Y', time()-172800);
# Конечная дата (чтобы учитывать завтра добавьте параметр time()+86400)
$date_2=date('d/m/Y');
# Базовый URL скрипта на cbr.ru
$scripturl = 'http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date_2&d=1';
# Таким образом, мы получим данные либо за 2, либо за 3 последних дня.
# За 2 - если на "сегодня" курс еще не выставили, иначе - за 3
# Код валюты в архиве данных cbr.ru
$currency_code='R01795';
# URL для запроса данных
$requrl = "{$scripturl}?date_req1={$date_1}&date_req2={$date_2}&VAL_NM_RQ={$currency_code}";
?>
|
| |
|
|
|
|
|
|
|
для: xray
(23.10.2007 в 11:23)
| | То что я прикрепил, это файл XML_val1.asp взятый с ЦРБ. Но брал я его очень давно. Меня интересует доллар и евро, получаю из XML_dynamic.asp. | |
|
|
|
|
|
|
|
для: sim5
(23.10.2007 в 06:35)
| | На ЦБ все вроде все написано, как реализовать?
Получение данных, используя XML
Example 1
Например, для получения котировок на заданный день
http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002
date_req= Date of query (dd/mm/yyyy)
* если параметр(date_req) отсутствует, то Вы получите документ на последнюю зарегистрированную дату.
-- Справочник по кодам валют: http://www.cbr.ru/scripts/XML_val.asp?d=0
d=0 Коды валют устанавливаемые ежедневно.
d=1 Коды валют устанавливаемые ежемесячно.
http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002&d=1 - котировоки валют устанавливаемые ежемесячно. | |
|
|
|
|
|
|
|
для: xray
(23.10.2007 в 11:03)
| | Ну тогда на ЦБ надо. Там насколько помню есть страница, где указано из каких ресурсов все выцепить можно. Я лично там давно уже не был. | |
|
|
|