php cache xml文件1小时

时间:2011-09-26 12:22:58

标签: php xml caching

我正在尝试找出如何将xml文件下载到我的服务器并保存1小时然后再次下载,以缓存它以加快我的网站速度,但不必太高兴。

到目前为止,我每次都下载它:

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

有人可以帮我解决这个问题吗?

提前致谢

理查德

2 个答案:

答案 0 :(得分: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); 
}    

答案 1 :(得分:1)

在某些情况下,这就是缓存的意思(你写的是什么),

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