Место для вас

Cоздание rss лент на php

Если вы хотите, чтоб ваши посетители сайта всегда были в курсе ваших новостей, то один из способов рассказать им об этом - использование rss лент.
Что такое RSS и с чем его едят можно почитать тут: официальная документация 

Я же сперва приведу пример php скрипта генерирующего rss фид. Тут довольно таки все интуитивно понятно.


<?php
define('DATE_FORMAT_RFC822','r');// Задаем формат даты
header('Content-type: application/rss+xml; charset=utf-8');// Сообщяем браузеру что передаем XML
$lastBuildDate=date(DATE_FORMAT_RFC822);// Дата последней сборки фида

// соединяемся с БД
$connect = mysql_connect("localhost","user","pwd") or die('No connection');
mysql_query('SET NAMES utf8');
mysql_select_db("db_name",$connect) or die('No connection!');

echo <<<END
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<atom:link href="http://www.site.com/rss/rss.php" rel="self" type="application/rss+xml" />
<title>My Site RSS feed name</title>
<link>http://www.site.com/</link>
<description>Get the latest information direct to your desktop</description>
<language>en</language>
<copyright>Copyright 2012 site.com</copyright>
<lastBuildDate>$lastBuildDate</lastBuildDate>
<generator>site.Com</generator>
<managingEditor>support@site.com (User Name)</managingEditor>
<webMaster>support@site.com (User Name)</webMaster>
END;

//создаем данные фида
$query = "SELECT * FROM table ORDER by id DESC LIMIT 5"; //вывод последних 5 записей
$result = mysql_query($query);
while ($row = mysql_fetch_array($result))
{
$url = $row['ulr'];// ссылка на новость(статью, и тд)
$title = $row['title'];
$descr = $row['descr'];
$pubDate = strtotime($row['date']);
$pubDate = date(DATE_FORMAT_RFC822, $pubDate); //преобразовываем дату

echo <<<END
<item>
<title>$title</title>
<link>http://www.site.com/$url</link>
<description><![CDATA[<p>$descr ...</p><p><a href="http://www.site.com/$url">Read more...</a></p>]]></description>
<guid isPermaLink="false">http://www.site.com/$url</guid>
<pubDate>$pubDate</pubDate>
<author>support@site.com (User Name)</author>
</item>
END;
}
echo <<<END
</channel>
</rss>
END;
?>

вот и все. после того как создадите файл его можно будет вызывать через url вида http://www.site.com/rss/rss.php
при обращении к этому файлу вам будет открываться ваш фид.

так же еще можно сообщить браузеру о существовании вашего rss фида указав между тегами <head></head> вот эту строку

<link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.site.com/rss/rss.php" />

А теперь приведу таблицу с атрибутами, которые должен/может содержать rss фид

Обязательные элементы блока channel
title Имя rss фида
description Краткое описание rss фида
link Ссылка на сайт, с указанием на rss фид
Необязательные элементы блока сhannel
language Язык фида (en-us — Английский; ru — Русский)
copyright Сведения об авторстве rss фида
managingEditor Email адрес ответственного за контент фида
webMaster Email адрес ответственного за техническую часть публикации фида
pubDate Дата публикации фида, в соответствии с Date and Time Specification of RFC 822
lastBuildDate Время последней модификации фида в соответствии с Date and Time Specification of RFC 822
category Одна или несколько категорий, к которым принадлежит фид
generator Название программы, использованной для генерирования RSS фида
docs Ссылка на файл документации подвида RSS, который был использован для создания фида
ttl Ttl расшифровывается как time to live. Это число минут, в течение которых фид сохраняет свою актуальность
image Используется для подключения графического файла (GIF, JPEG, или PNG), который будет показан вместе с RSS фидом. Имеет следующие параметры: 

 

title

- обычно тот же текст, что и в RSS title;

description

- описание графического файла, которое будет показано, если файл не доступен;

link

- ссылка на страницу, с которой связан фид;

url

- URL на файл формата JPEG, GIF или PNG, который связан с RSS фидом;

width

- ширина рисунка;

height

- высота рисунка;

skipHours Число часов, в течение которых RSS ридеры могут не проверять фид на обновления
skipDays Число дней, в течение которых RSS ридеры могут не проверять фид на обновления
Обязательные элементы блока item
title Заголовок (новости, сообщения и тд) RSS фида
description Краткое описание
link ссылка на страницу
Необязательные элементы блока item
author Email адрес автора сообщения
category Категория итема
comments Ссылка на страницу с комментариями по итему
enclosure Описывает медиа-объект, присоединенный к итему. Имеет следующие параметры: 

 

url

- ссылка на файл объекта;

length

- размер файла в байтах;

type

- тип файла, в соответствии со спецификацией MIME;

guid Уникальная строка, используемая для идетификации
pubDate Дата публикации итема, в соответствии с Date and Time Specification of RFC 822

Место для вас

Добавить коментарий

кликните на картинку,
чтоб обновить код

Что за сайт

Этот сайт представляет унифицированную базу, где инфа собрана в единое целое, а не разбросанна по многочисленным сайтам, записям на листах бумаги или головам людей; а так же доступна круглосуточно не зависимо от кого-либо или чего-либо.

Будь в курсе

Интересненько

Вверх