php cache xml文件1小时

0 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); 
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我为此添加一些缓存吗?

提前致谢

理查德

Wes*_*orp 5

最好的解决方案是编写一个每小时运行一次的CRONJOB,然后生成xml.

如果您不知道,可以使用文件修改时间执行以下解决方案.

$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); 
}    
Run Code Online (Sandbox Code Playgroud)