kolyma 2 Опубликовано: 27 ноября 2010 Рассказать Опубликовано: 27 ноября 2010 Все наверное видели модуль курса валют, модуль офигенный, выводи все что хочешь, подключается через include. Все ок... но... можно ли сделать ему кэширование????? код внизу <?php // Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru СКРИПТ СКАЧАН С VEXEL.SU $content_today = get_content_today(); $content_yesterday = get_content_yesterday(); // Разбираем содержимое xml-файла, при помощи регулярных выражений $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i"; // Для курсов валют на текущий день preg_match_all($pattern, $content_today, $out_today, PREG_SET_ORDER); // Для курсов валют на предыдущий день preg_match_all($pattern, $content_yesterday, $out_yesterday, PREG_SET_ORDER); //Задаем нулевые стартовые значения для того, чтобы избежать ошибок в дальнейшем $dollar_today = ""; $dollar_yesterday = ""; $euro_today = ""; $euro_yesterday = ""; foreach($out_today as $cur) { if($cur[2] == 840) $dollar_today = str_replace(",",".",$cur[4]); if($cur[2] == 978) $euro_today = str_replace(",",".",$cur[4]); if($cur[2] == 392) $ien_today = str_replace(",",".",$cur[4]); } foreach($out_yesterday as $cur) { if($cur[2] == 840) $dollar_yesterday = str_replace(",",".",$cur[4]); if($cur[2] == 978) $euro_yesterday = str_replace(",",".",$cur[4]); if($cur[2] == 392) $ien_yesterday = str_replace(",",".",$cur[4]); } $position_usd = $dollar_today-$dollar_yesterday; $position_euro = $euro_today-$euro_yesterday; $position_ien = $ien_today-$ien_yesterday; ?> <table width="100%" cellspacing="0" cellpadding="2"><tr><td style="padding-bottom:0px;"><font color="#666666">1 Евро (EUR) - </span> </font> </td> <td style="padding-bottom:0px;" width="100%"><font color="#666666"><?php echo $euro_today; ?></font></td> <tr><td style="padding-bottom:0px;"><font color="#666666"> $ 1 Доллар США (USD) - </font> <span class="usd"> </span> </td> <td style="padding-bottom:0px;"><font color="#666666"><?php echo $dollar_today; ?></font></td> </tr> <tr><td style="padding-bottom:0px;" nowrap> <p style="margin-right: 15px"><font color="#666666">100 Японских иен (JPY) - </font> <span class="usd"></td> <td style="padding-bottom:0px;"><font color="#666666"><?php echo $ien_today; ?></font></td> </tr></table> <?php function get_content_today() { // Формируем сегодняшнюю дату $date_today = date("d/m/Y"); // Формируем ссылку $link_today = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date_today"; // Загружаем HTML-страницу $fd_today = fopen($link_today, "r"); $text_today=""; if (!$fd_today) echo "Запрашиваемая страница не найдена"; else { // Чтение содержимого файла в переменную $text while (!feof ($fd_today)) $text_today .= fgets($fd_today, 4096); } // Закрыть открытый файловый дескриптор fclose ($fd_today); return $text_today; } function get_content_yesterday() { // Формируем сегодняшнюю дату $date_yesterday = date("d/m/Y", mktime(0, 0, 0, date("m"), date("d") - 1)); // Формируем ссылку $link_yesterday = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date_yesterday"; // Загружаем HTML-страницу $fd_yesterday = fopen($link_yesterday, "r"); $text_yesterday=""; if (!$fd_yesterday) echo "Запрашиваемая страница не найдена"; else { // Чтение содержимого файла в переменную $text while (!feof ($fd_yesterday)) $text_yesterday .= fgets($fd_yesterday, 4096); } // Закрыть открытый файловый дескриптор fclose ($fd_yesterday); return $text_yesterday; } ?> Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.