RSS канал на PHP

RSS канал на PHP

Пример генерации фида RSS 2.0 на PHP, полную спецификацию можно посмотреть на validator.w3.org.

rss.php

<?php
// Подключение к ДБ.
$dbh = new PDO('mysql:dbname=db_name;host=localhost', 'логин', 'пароль');

$out = '<?xml version="1.0"?>';
$out .= '<rss version="2.0">';
$out .= '<channel>';
$out .= '<title>Название канала</title>';
$out .= '<description>Описание канала</description>';
$out .= '<link>http://site.ru</link>';

$out .= '
<image>
	<url>http://site.ru/logo.jpg</url>
	<title>Название канала</title>
	<link>http://site.ru</link>
</image>';

// Получение и вывод статей из БД.
$sth = $dbh->prepare("SELECT * FROM `articles`");
$sth->execute();
$articles = $sth->fetchAll(PDO::FETCH_ASSOC);

foreach ($data as $row) {
	$out .= '
	<item>
		<title>' . $row['name'] . '</title>
		<link>http://site.ru/articles/' . $row['id'] . '.html</link>
		<description><![CDATA[' . $row['text'])) . ']]></description>
		<category>' . $row['category'] . '</category>
		<guid>' . $row['id'] . '</guid>
		<pubDate>' . date(DATE_RFC822, $row['date_add']) . '</pubDate>
	</item>';
}

$out .= '</channel>';
$out .= '</rss>';

header('Content-Type: text/xml; charset=utf-8');
echo $out;
exit();
PHP

Результат

<rss version="2.0">
	<channel>
		<title>Название канала</title>
        <description>Описание канала</description>
        <link>http://site.ru</link>
		<image>
			<url>http://site.ru/logo.jpg</url>
			<title>Название канала</title>
			<link>http://site.ru</link>
		</image>
		<item>
			<title>RSS Tutorial</title>
			<link>http://site.ru/articles/5</link>
			<description>
				<![CDATA[
                <p>New RSS tutorial on Snipp.ru</p>
				]]>
			</description>
			<category>PHP</category>
			<guid>5</guid>
			<pubDate>Thu, 08 Sep 16 17:00:00 +0300</pubDate>
		</item>
	</channel>        
</rss>

Перенаправление с .php на .xml

Чтобы php-скрипт открывался по адресу http://site.ru/rss.xml, в .htaccess нужно добавить запись:

RewriteEngine On
RewriteRule ^rss.xml$ rss.php [L,QSA]
htaccess
18.07.2019, обновлено 20.09.2019
6486

Комментарии

, чтобы добавить комментарий.

Другие публикации

Формирование файла sitemap.xml
Пример создания файла карты сайта (sitemap.xml) на PHP. Интеграция его на сайт и подключение его в robots.txt
24073
+3
Описание мета-тегов
В статье представлены все самые встречающеюся мета-теги с примерами и пояснениями их использования.
26762
+4
Массив $_SERVER
Описание значений глобального массива $_SERVER с примерами.
52411
+3
Настройка редиректов в htaccess
Как сделать seo редиректы на www или без него в htaccess, добавление/удаление расширений у страниц.
14642
-1
Запись в лог-файл в PHP
Несколько вариантов как быстро организовать запись данных в лог-файл.
80815
+12
Генерация QR-кода в PHP
Вопрос генерации QR-кодов в PHP достаточно освещён, есть много библиотек, одной из них является «PHP QR Code» – быстрый и легкий класс, рассмотрим его применение совместно с графической библиотекой...
66557
+18