Кэширование rss-канала WordPress с помощью PHP?

#php #caching #rss

#php #кэширование #RSS-канал

Вопрос:

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

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

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

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

Комментарии:

1. ИТАК, речь идет о программировании, а не о покупках.

2. Я программист… я просто хотел бы получить некоторое представление о том, какие инструменты будут хорошо подходить для этого

3. вы могли бы легко создать что-то размером менее 100 строк, запустить скрипт для размещения содержимого или кэшировать канал и использовать md5_file, чтобы проверить, был ли он изменен, а затем разместить его

Ответ №1:

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

 $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 . Если вы хотите кэшировать саму статью, изменения должны быть довольно очевидными.

Комментарии:

1. Итак, вопрос… проверяет ли первый if, находится ли файл rss_cache.txt exists..so я предполагаю, что это файл, в котором будут храниться RSS-каналы

2. Да, rss_cache.txt содержит содержимое канала и время создания кэша.

3. может быть, это очевидно, но как мне получить только последний блог WordPress… это тянет за последние 3 или 4

4. @Tamer Проанализируйте его с помощью инструментов синтаксического анализа DOM. Это зависит от того, чего вы хотите.