@kilpro_css

Как кешировать rss на php?

есть простой парсер rss ленты.
как сохранять ленту в локальный файл и обновлять его каждые 30 мин
<?php
    $feed = "https://news.mail.ru/rss/";
    $sxml = simplexml_load_file($feed);
    foreach ($sxml->attributes() as $key => $value) {}
    $i = 1;
    foreach ($sxml->channel->item as $item){
    if ($i > 10 ) break;
    if ($key == 2) break;
    $strtemp = "<p><a href=\"$item->link\" target=\"_blank\">"."$item->title</a> <span class=\"time\" style=\"font-size:12px;color:#555;\">".date("H:i",strtotime($item->pubDate))."</span></p>\n";
    echo $strtemp;
    $i++;
}
?>
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
@alexalexes
Вариант 1.
Использовать cron с настроенным расписанием, чтобы каждые 30 мин выполнял ваш php скрипт, который будет делать запрос rss данных и сохранять локальный файл. Любые другие приложения читают только этот файл, но не делают запросы на его обновление.
Вариант 2.
Использовать этот скрипт в качестве подключаемого скрипта на вашем сайте с типичной конструкцией кеша:
if(существует файл кеша и его время изменения меньше 30 мин)
{
// читать кеш
}
else
{
 // запросить новые данные и записать файл
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tkovacs
@tkovacs
веб мастер
Сохранить локально и запрашивать раз в 30 минут :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы