|
|
|
| Другой вариант скрипта, находящегося тут: http://www.softtime.ru/scripts/valute.php.
Работает только в PHP5 и выше, так как используется расширение SimpleXML. | |
|
|
|
|
|
|
|
для: Саня
(06.04.2006 в 16:12)
| | Чего-то атач битый какой-то?! | |
|
|
|
|
|
|
|
для: Artemy
(06.04.2006 в 16:23)
| |
<pre><?php
/*
array valutes ( [int day [, int month [, int year]]] )
Получает курс валют с сайта центробанка и помещает результат в массив.
*/
function valutes($d = 0, $m = 0, $y = 0) {
if ( !ini_get("allow_url_fopen") ) return false;
if ( !$y ) $y = date("Y"); else $y = (int)$y;
if ( !$m ) $m = date("m"); else $m = (int)$m;
if ( !$d ) $d = date("d"); else $d = (int)$d;
if ( checkdate($m, $d, $y) ) {
if ( mktime(0, 0, 1, $m, $d, $y) <= time() ) {
$day = sprintf("%02d/%02d/%04d", $d, $m, $y);
} else $day = date("d/m/Y");
} else $day = date("d/m/Y");
$link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$day;
$xml = simplexml_load_file($link);
$arr['date'] = $day;
for ( $i = 0; $i < count($xml->Valute); $i++ ) {
$ch = (string)$xml->Valute[$i]->CharCode;
$arr[$ch]['Nominal'] = (int)$xml->Valute[$i]->Nominal;
$arr[$ch]['Name'] = iconv("UTF-8", "WINDOWS-1251", $xml->Valute[$i]->Name);
$arr[$ch]['Value'] = (string)$xml->Valute[$i]->Value;
}
return $arr;
}
print_r(valutes());
?>
|
| |
|
|
|
|
|
|
|
для: Саня
(06.04.2006 в 16:12)
| | Если убрать проверки даты и принимать в качестве аргумента только дату в формате dd/mm/YYYY, получится в два раза короче:
<?php
function valutes($date = 0) {
if ( !$date ) $date = date("d/m/Y");
link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date;
$xml = simplexml_load_file($link);
for ( $i = 0; $i < count($xml->Valute); $i++ ) {
$ch = (string)$xml->Valute[$i]->CharCode;
$arr[$ch]['Nominal'] = (int)$xml->Valute[$i]->Nominal;
$arr[$ch]['Name'] = iconv("UTF-8", "WINDOWS-1251", $xml->Valute[$i]->Name);
$arr[$ch]['Value'] = (string)$xml->Valute[$i]->Value;
}
return $arr;
}
?>
|
| |
|
|
|
|
|
|
|
для: Саня
(06.04.2006 в 16:35)
| | Это все замечательно, но не все еще хостинги перешли на РНР5! | |
|
|
|
|
|
|
|
для: Artemy
(06.04.2006 в 16:45)
| | Не все, но многие. Да это и не важно. Я лишь хотел показать возможности SimpleXML. | |
|
|
|