2011-05-30 100 views
1

好的,我有这些需求,我需要,我真的不知道从哪里开始。这是我有什么用PHP缓存wordpress rss feed?

我需要的是一些PHP代码,它将从wordpress博客的RSS提要中获取最新文章。当PHP抓取RSS提要时,缓存它并在缓存为空或者24小时过后查找更新的版本。我需要这个代码是非常充分的证明,并且能够在没有数据库的情况下运行。你能把RSS结果缓存在内存中吗?

我发现this但我不确定它会在这种情况下有用......我在寻找什么/如何做到这一点的好方向。如果已经有一个工具,在那里,可以帮助这...

在此先感谢

+0

SO是关于编程,而不是购物。 – TJHeuvel 2011-05-30 13:00:47

+0

我是一名程序员......我只是想就什么工具适合这个问题做一些指导 – Trace 2011-05-30 13:03:30

+0

您可以轻松构建100行以下的东西,使用脚本来DOM内容,或者缓存feed并使用md5_file检查它是否已更改n然后dom它 – 2011-05-30 13:09:49

回答

2

因此,如果你希望缓存饲料本身,这将是非常简单的使用纯文本做到这一点文件。这样的事情应该做的伎俩:

$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提要的内容。如果你想缓存文章本身,这些变化应该是相当明显的。

+0

所以问题...第一,如果检查,看看是否存在文件rss_cache.txt ..所以我猜这是文件,将举行rss饲料 – Trace 2011-05-30 13:11:49

+0

是的,'rss_cache .txt“包含提要的内容和缓存的制作时间。 – lonesomeday 2011-05-30 13:17:30

+0

也许这是显而易见的,但我怎么才能得到最后一个WordPress博客......这是最后3或4 – Trace 2011-05-30 14:03:51