Квартиры, дома, земельные участки Краснодарского края без посредников. Объявления собственников недвижимости.
Реклама здесь
Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Источником информации об официальном курсе валюты служит сайт Центробанка Российской Федерации.

Обратившись по адресу сайта Центробанка http://www.cbr.ru/currency_base/XML_daily.asp?date_req=$date, где $data дата в формате ДД/ММ/ГГГГ можно узнать курс валют установленных в запрошенный день.

К примеру, узнать каков был курс валюты на 14 января 2009 года можно по адресу http://www.cbr.ru/currency_base/XML_daily.asp?date_req=14/01/2009. В результате будет открыта страница, содержащая таблицу с курсами валют, установленными в этот день. Остаётся только загрузить страницу и разобрать XML-код при помощи регулярных выражений. Ниже представлен скрипт, загружающий курсы доллара и евро с сайта Центробанка (http://www.cbr.ru)

Курс ЦБ РФ на 21.05.2012 17:19 Доллар - 31.1582 Евро - 39.8077

Пример получение курса валют на сегодня


<?php
// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru 
  
$content get_content(); 
  
// Разбираем содержимое, при помощи регулярных выражений 
  
$pattern "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i"
  
preg_match_all($pattern$content$outPREG_SET_ORDER); 
  
$dollar ""
  
$euro ""
  foreach(
$out as $cur
  { 
    if(
$cur[2] == 840$dollar str_replace(",",".",$cur[4]); 
    if(
$cur[2] == 978$euro   str_replace(",",".",$cur[4]); 
  } 
  echo 
"Доллар - ".$dollar."<br>"
  echo 
"Евро - ".$euro."<br>"

function 
get_content() 

    
// Формируем сегодняшнюю дату 
    
$date date("d/m/Y"); 
    
// Формируем ссылку 
    
$link "http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date
    
// Загружаем HTML-страницу 
    
$fd = @fopen($link"r"); 
    
$text=""
    if (!
$fd) echo "Сервер ЦБ не отвечает"
    else 
    { 
      
// Чтение содержимого файла в переменную $text 
      
while (!feof ($fd)) $text .= fgets($fd4096); 
      
// Закрыть открытый файловый дескриптор 
      
fclose ($fd); 
    } 
    return 
$text

?>
Скопировать в буфер

Вариант получение курса валют с кешированием


<?php
list($dollar$euro)=load_kurs();
echo 
"<div>Курс ЦБ РФ на <b>".date("d.m.Y H:i",filemtime($_SERVER['DOCUMENT_ROOT']."/log/kurs.txt"))."</b><br>
Доллар - <b>"
.$dollar."</b><br>
Евро - <b>"
.$euro."</b></div>"

function 
load_kurs()
{
define("tsKurs","15:00:00");        # Время смены курса центральным банком
$kurs_file=$_SERVER['DOCUMENT_ROOT']."/log/error/kurs.txt";
if (
file_exists($kurs_file)){
   
$lastModified=filemtime($kurs_file);
   
// каждые 24 часа, но с учетом времени смены курса центральным банком
   
if (date("Y-m-d H:i:s",$lastModified) > date("Y-m-d H:i:s",time()-60*60*24) && !(date("H:i:s",$lastModified) < tsKurs && date("H:i:s")>tsKurs ) ) {
    return 
explode('|',file_get_contents($kurs_file));
    
//echo "<!--Курс ЦБ на ".date("Y-m-d H:i:s",$lastModified)."<br>Доллар - <b>".$dollar."</b><br>Евро - <b>".$euro."</b><br>".$df1."-->"; 
    
}
}

// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru 
$content get_content(); 

if(!
$content&&file_exists($kurs_file)){// считаю по старому курсу если он есть
    
return explode('|',file_get_contents($kurs_file));
}

  
// Разбираем содержимое, при помощи регулярных выражений 
  
$pattern "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i"
  
preg_match_all($pattern$content$out1PREG_SET_ORDER); 
  
$dollar ""
  
$euro ""
  foreach(
$out1 as $cur1
  { 
    if(
$cur1[2] == 840$dollar str_replace(",",".",$cur1[4]); 
    if(
$cur1[2] == 978$euro   str_replace(",",".",$cur1[4]); 
  } 

  if(
file_put_contents($kurs_file$kurs=($dollar.'|'.$euro))<7)die('Ошибка записи в '.$kurs_file);
  return 
explode('|',$kurs);
}

function 
get_content() 

    
// Формируем сегодняшнюю дату 
    
$date date("d/m/Y"); 
    
// Формируем ссылку 
    
$link "http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$date;
    
// Загружаем HTML-страницу 
    
$fd = @fopen($link"r"); 
    
$text=""
    if (!
$fd) echo "<h3>Сервер ЦБ не отвечает!</h3>"
    else 
    { 
      
// Чтение содержимого файла в переменную $text 
      
while (!feof ($fd)) $text .= @fgets($fd4096); 
      
// Закрыть открытый файловый дескриптор 
      
@fclose ($fd); 
    } 
    return 
$text

?>
Скопировать в буфер
Загрузи советники forex и получай стабильный заработок автоматически и без проблем.
-  Кто производитель хитачи кондиционер системы вентиляции.
Remtechnica.ucoz.Ru предлагает: настройка интернета в Windows 7Все о диетах: диеты для похудения и лечения.

© Copyright 2008-2012 by KDG