Кэширование WordPress RSS-канала с помощью PHP? - PullRequest
1 голос
/ 30 мая 2011

Хорошо, у меня есть эти требования, которые мне нужны, и я действительно не знаю, с чего начать.Вот что у меня есть

Что мне нужно, так это некоторый PHP-код, который возьмет последнюю статью из RSS-канала из блога WordPress.Когда PHP захватывает RSS-канал, кешируйте его и ищите более новую версию, если кеш пуст или прошло 24 часа.Мне нужно, чтобы этот код был достаточно полным доказательством и мог работать без БД.Вы можете просто кэшировать результаты RSS в памяти?

Я нашел this , но я не уверен, что это будет полезно в этой ситуации ... Что я ищу, так это какое-то хорошее направление начто / как я могу это сделать.И если уже есть инструмент, который может помочь с этим ...

Заранее спасибо

1 Ответ

2 голосов
/ 30 мая 2011

Итак, если вы хотите кэшировать сам канал, было бы довольно просто сделать это с помощью простого текстового файла. Нечто подобное должно сработать:

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

После этого вы можете получить доступ к содержимому RSS-канала с помощью $feed. Если вы хотите кэшировать саму статью, изменения должны быть достаточно очевидными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...