<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-type: text/xml; charset=windows-1251");
require_once("ConfigDB.php");//подключение базы данных
//-------------------------------
// узнаём дату самой свежей статьи
//-------------------------------
$stmt = 'select max(datelastedit) as M from content';
$sth = ibase_query($dbh, $stmt);
if ($row = ibase_fetch_object($sth))
{
$ld=date("r", strtotime($row->M));//r - это формат времени Date and Time Specification of RFC 822 }
else
{
$ld=date("r");
}
//-------------------------------
// Формируем заголовок RSS-файла ВНИМАТЕЛЬНО устанавливаем кодировку , такую же как в header иначе IE не будет понимать наш файл
//-------------------------------
$output = '<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>KANSoftWare News</title>
<link>http://www.kansoftware.ru</link>
<description>Новости компании KANSoftWare.</description>
<generator>CMS kansoftware</generator>
<docs>http://www.rssboard.org/rss-specification</docs>
<language>ru-ru</language>
<pubDate>'.$ld.'</pubDate>'."\n";
//-------------------------------
// запрос 25 новостей и статьи основного содержимого
//-------------------------------
$stmt = 'select FIRST 25 datelastedit MOD, id, body, name from content order by id DESC';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth))
{
$output .= "<item><title>{$row->NAME}</title><link>http://www.kansoftware.ru/?id={$row->ID}</link>";
//-----------------------------------------
// получение blob
//-----------------------------------------
$blob_data = ibase_blob_info($row->BODY);
if ($blob_data[0] > 0 )
{
$blob_hndl = ibase_blob_open($row->BODY);
$lbody = ibase_blob_get($blob_hndl, $blob_data[0]);
}
else
{
$lbody='';
};
$ltxt=html_entity_decode(substr(strip_tags($lbody),0,250));//убираем теги HTML и спец.символы, а так же откусываем первые 250 символов
$output .= "<description>{$ltxt}...</description>";
//-----------------------------------------
// получение даты статьи
//-----------------------------------------
if (!is_null ($row->MOD))
{
$ldate=date("r",strtotime($row->MOD));
$output .= "<pubDate>{$ldate}</pubDate>";
};
Описание формата и идея взята с http://www.webmagazine.biz/articles/rss-2-0-lenta-na-php-5.html там же есть пример и описание собственно формата RSS 2.0.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.