使用PHP缓存wordpress rss feed?

时间:2011-05-30 12:56:40

标签: php caching rss

好的,所以我需要这些要求,我真的不知道从哪里开始。这就是我所拥有的

我需要的是一些PHP代码,它将从wordpress博客中获取RSS源中的最新文章。当PHP抓取RSS源时,如果缓存为空或者已经过了24小时,则缓存它并查找更新的版本。我需要这个代码非常完整,并且能够在没有DB的情况下运行。你能把RSS结果缓存到内存中吗?

我找到了this,但我不确定它在这种情况下是否有用......我正在寻找的是关于我能做什么/怎么做的一些好方向。如果已经有一个工具可以帮助解决这个问题......

提前致谢

1 个答案:

答案 0 :(得分:2)

因此,如果您想要缓存Feed本身,使用纯文本文件执行此操作非常简单。这样的事情可以解决问题:

$validCache = false;
if (file_exists('rss_cache.txt')) {
    $contents = file_get_contents('rss_cache.txt');
    $data = unserialize($contents);
    if (time() - $data['created'] < 24 * 60 * 60) {
        $validCache = true;
        $feed = $data['feed'];
    }
}

if (!$validCache) {
    $feed = file_get_contents('http://example.com/feed.rss');
    $data = array('feed' => $feed, 'created' => time());
    file_put_contents('rss_cache.txt', serialize($data));
}

然后,您可以使用$feed访问RSS Feed的内容。如果你想缓存文章本身,那么改变应该是相当明显的。