Как скрыть RSS-канал
Ресурсы можно сэкономить, поместив преобразованный поток в HTML-форму в файл, а не анализируя XML-код и преобразуя его в HTML при каждом просмотре.
Однако этот файл кэша должен обновляться автоматически и регулярно, например, каждый час, как в примере кода ниже.
На веб-странице, представляющей поток, будет заменен обычный код для вызова RSSLIB (например, URL):
<?php
require_once("rsslib.php");
$url = "https://www.iqlevsha.ru/rss.xml";
echo RSS_Display($url, 15, false, true);
?>
По следующему коду :
<?php $cachename = "rss-cache-tmp.php"; $url = "https://www.iqlevsha.ru/rss.xml"; if(file_exists($cachename)) { $now = date("G"); $time = date("G", filemtime($cachename)); if($time == $now) { include($cachename); exit(); } } include("rsslib.php"); $cache = RSS_Display($url, 15, false, true);
file_put_contents($cachename, $cache); echo $cache; ?>
Для другой периодичности обновления будут изменены формат даты () и тест сравнения.
Например, для обновления каждые десять минут формат будет:
$time = date("i", filemtime($cachename));
и сравнительный тест станет:
if(intval($time) / 10 == intval($now) / 10)
См. демонстрацию: Кэширование RSS-канала .
Загрузить архив на странице статьи: RSS Reader .