2011-09-26 128 views
0

我想解决如何下载一个xml文件到我的服务器,并保持它1小时,然后再次下载,缓存它来加快我的网站,但不必很高兴。php缓存xml文件1小时

到目前为止,我只是每次下载:

$data = file_get_contents('http://www.file.com/file.xml'); 
$fp = fopen('./file.xml', 'w+'); 
fwrite($fp, $data); 
fclose($fp); 

谁能帮我出一些缓存提供这方面的吗?

在此先感谢

理查德

在某些情况下,这是缓存手段

回答

1

(你写的),

除非你想将其保存在内存中(实际的缓存)。在这种情况下,您需要http://memcached.org

+0

非常感谢。你会推荐做什么?我真的只想尽快加快速度。另外我对PHP很新。再次感谢 –

+0

你的解决方案是好的,只需添加一个cron选项卡,它将重新缓存它,你很好 – fatnjazzy

5

最好的解决方案是编写一个小时运行一次的CRONJOB,并生成xml。

如果您无法做到,您可以使用file modification time来执行以下解决方案。

$sFileName = './file.xml'; 
$iCurrentTime = time(); 
$iFiletime = filemtime($sFileName); 
if ($iFiletime < $iCurrentTime - 3600) { 
    $data = file_get_contents('http://www.file.com/file.xml'); 
    $fp = fopen($sFileName, 'w+'); 
    fwrite($fp, $data); 
    fclose($fp); 
}