2011-05-30 137 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