2011-09-26 84 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); 
}