开发者

Caching a wordpress rss feed with PHP?

开发者 https://www.devze.com 2023-03-09 12:30 出处:网络
Ok so I have these requirements that i need and I really dont know where to start. Here is what i have

Ok so I have these requirements that i need and I really dont know where to start. Here is what i have

What I need is some PHP code that will grab the latest article from the RSS feed from a wordpress blog. When the PHP grabs the RSS feed, cache it and look for a newer version if the cache is empty or if 24 hours have passed. I need this code to be pretty开发者_如何转开发 full proof and be able to run without a DB behind it. Can you just cache the RSS results in memory?

I found this but i am not sure it will be useful in this situation...What i am looking for is some good direction on what/how I can do this. And if there is already a tool out there that can help with this...

Thanks in advance


So if you want to cache the feed itself, it would be pretty simple to do this with a plain text file. Something like this should do the trick:

$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));
}

You could then access the contents of the RSS feed with $feed. If you wanted to cache the article itself, the changes should be fairly obvious.

0

精彩评论

暂无评论...
验证码 换一张
取 消