Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / курсы валют / 13 сообщений из 13, страница 1 из 1
03.11.2005, 08:28
    #33359082
twistfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
привет всем.
вот возникал трабла - необходимо постоянно откуда-то брать курсы валют. Откуда? Смотрел export.rbc.ru - не устраивает, так как мне не подходит. В віходніе дни их скрипті вообще ничего не відают.

Смотрю на многих сайтах есть эти курсы, откуда они берут? Может кто знает?
Говорят в xml отдают а там дальше парсить надо.
Желетелен бесплатный вариант.
Заранее спасибо.
...
Рейтинг: 0 / 0
03.11.2005, 09:03
    #33359151
Dmitri P.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
Вот по этой ссылке можно получить курс валюты на любой день.
http://www.cbr.ru/scripts/XML_daily.asp?date_req=2005/11/03

Вот пример как можно вытащить курс доллара за текущий день:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
function getUSDRate()
{
	$error_reporting = error_reporting(~E_ALL);
	$url = 'http://www.cbr.ru/scripts/XML_daily.asp?date_req=%s';
	
	$url = sprintf($url, date('d/m/Y'));
	
	$fh = fopen($url, 'r');
	
	$xml = '';
	while(!feof($fh))
		$xml .= fread($fh,  1024 );
	
	fclose($fh);
	
	$xml = xmldoc($xml);
	$xml->xpath_init();
	$ctx = xpath_new_context($xml);
	
	$nodes = xpath_eval($ctx, '//ValCurs/Valute[CharCode="USD"]/Value');
	$node = @$nodes->nodeset[ 0 ]->children();
	
	$USDRate = @$node[ 0 ]->content;
	
	error_reporting($error_reporting);
	
	return $USDRate;
};  
...
Рейтинг: 0 / 0
03.11.2005, 09:06
    #33359154
Dmitri P.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
Извиняюсь, немного обшибся... Ссылка имеет вид
http://www.cbr.ru/scripts/XML_daily.asp?date_req=03/11/2005 , т.е. дату надо указывать в формате d/m/Y.
...
Рейтинг: 0 / 0
03.11.2005, 18:13
    #33361006
twistfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
спасибо.
очень помог.
...
Рейтинг: 0 / 0
03.11.2005, 22:43
    #33361281
twistfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
хм...
вроде должно работать я по коду посмотрел - а выдает ошибки типа неизв. ф-я... (xmldoc).

Почему такое может происходить? Может в версиях php трабл? Как исправить?
...
Рейтинг: 0 / 0
03.11.2005, 22:48
    #33361284
twistfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
вот что выдает phpinfo() по поводу xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
xml
XML Support 	active
XML Namespace Support 	active
EXPAT Version 	expat_1. 95 . 8 

xslt
XSLT support 	enabled
Backend 	Sablotron
Sablotron Version 	 1 . 0 . 1 
Sablotron Information 	Cflags: -O -pipe Libs: -L/usr/local/lib -liconv -lexpat Prefix: /usr/local
может что-то установить необходимо?
...
Рейтинг: 0 / 0
04.11.2005, 10:22
    #33361444
twistfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
пытался уже и так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
$dom = new domDocument;
$dom->loadXML($xmlstr);
if (!$dom) {
    echo 'Error while parsing the document';
    exit;
}
$s=simplexml_import_dom($dom);
echo $s->Valute[ 0 ]->Name; // blah
кричит:
Cannot instantiate non-existent class: domdocument in ....

Через simplexml пітался - тоже ничего не віходит. не знает ф-ии simplexml_load_string()

Что делать??? Может что-то нужно установить? Или включить поддержку?
Я просто смотрю у всех работает (на другом форуме тоже нашел), а у меня нет. Что за фигня?
ПОМОГИТЕ!!!
...
Рейтинг: 0 / 0
04.11.2005, 11:15
    #33361500
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
И главное, зачем оно надо, с XML возиться, когда тут обычного csv достаточно?)
...
Рейтинг: 0 / 0
04.11.2005, 19:22
    #33362108
LittleBudda
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
Вот тебе рабочий код, надеюсь поможет (код вытаскивает курс доллара):
<?php
$fh = @fopen('http://www.cbr.ru/scripts/XML_daily.asp','r');
if($fh) {
while(!feof($fh)) @$data.=fread($fh,4096);
fclose($fh);
preg_match('#<CharCode>USD</CharCode>.*?<Value>(.*?)</Value>#si',$data,$data);
echo 'Текущий курс USD '.@$data[1].' рублей';
} else echo 'Текущий курс USD не доступен';


?>
...
Рейтинг: 0 / 0
04.11.2005, 21:49
    #33362212
twistfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
может оно и не за чем конкретно в этой задаче, но все же хочется получить полноценный подход а главное - получить возможность парсить xml, так как сейчас все-таки главный носитель - xml, а у меня с нима проблема... Так что посоветуете по поводу работы с xml и функциями xmldoc() и т.д.?
...
Рейтинг: 0 / 0
04.11.2005, 22:35
    #33362234
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
Ну так а SimpleXML установлен, чтобы работать?
Если установлены только модули xml и xslt, так и пользуйтесь их функциями, чтоли?
...
Рейтинг: 0 / 0
05.11.2005, 08:50
    #33362356
twistfire
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
Я не знаю какие модули установлены (в том то и проблема) и какие нужны для нормальной работы с xml....
(2 DocAl) А какие функции (я имею ввиду название) у модулей xml и xslt? А тоя уже запутался окончательно в этих модулях...
...
Рейтинг: 0 / 0
05.11.2005, 08:54
    #33362358
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
курсы валют
Что же помешало вам набрать в браузере http://php.net/xml и http://php.net/xslt ?
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / курсы валют / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]