[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кэширование в парсере курса валют
ravchik
Доброго времени суток, уважаемые знатоки PHP!

Начал изучение PHP... пытаюсь делать парсер курса валют с яндекса..

<?php

$today = date("d/m/Y");
$tomorrow = date("d/m/Y",time()-86400);

$file = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$today);
$xml = $file->xpath("//Valute[@ID='R01235']");
$usd = str_replace(',', '.', strval($xml[0]->Value));
$xml = $file->xpath("//Valute[@ID='R01239']");
$euro = str_replace(',', '.', strval($xml[0]->Value));

$file = simplexml_load_file("http://www.cbr.ru/scripts/XML_daily.asp?date_req=".$tomorrow);
$xml = $file->xpath("//Valute[@ID='R01235']");
$usd2 = str_replace(',', '.', strval($xml[0]->Value));
$xml = $file->xpath("//Valute[@ID='R01239']");
$euro2 = str_replace(',', '.', strval($xml[0]->Value));

$raz = $usd-$usd2;
if ($raz>=0) {$color="green"; $plus="+";}
else {$color="red"; $plus="";}

$raz2 = $euro-$euro2;
if ($raz2>0) {$color2="green"; $raz2="+".$raz2;}
else {$color2="red"; $plus2="";}

$usd = number_format($usd, 2);
$euro = number_format($euro, 2);
$raz = number_format($raz, 2);
$raz2 = number_format($raz2, 2);

$inf = "
<tr>
<td style='color:green'>&dollar;</td>
<td class='kurs'>"
.$usd."</td>
<td style='color:"
.$color."' align='right'>".$plus.$raz."</td>
</tr><tr>
<td style='color:orange'>€</td>
<td class='kurs'>"
.$euro."</td>
<td style='color:"
.$color2."' align='right'>".$plus2.$raz2."</td>
</tr>"
;

echo "<style>.kurs{text-align:left !important;padding:0 10px;}</style><table>".$inf."</table>";


Подскажите пожалуйста, как прикрутить кэширование, чтобы не загружать XML каждый раз, а, например, только раз в сутки.

P.S.: замечания и предложения по оптимизации кода приветствуются
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.