«PHP-Creative»

 

Меню сайта


Новые статьи



Статистика

Rambler's Top100

Рейтинг@Mail.ru

Сейчас на сайте: 2

Как установить RSS ленту на сайт.

Дата добавления: 2009-06-21

Автор статьи: Роман Нагорнюк

   Что такое RSS лента? Как установить RSS ленту на сайт? Это вопросы, которые интересуют многих начинающих веб-программистов. И в этой статье вы найдете ответ на эти два вопроса.

   Вы, наверное, ни один раз встречали на сайтах предложение подписаться на rss ленту. А что же такое rss лента? RSS — это еще один представитель XML-форматов, предназначенных для анонсирования лент новостей, статей, либо появления новой информации на блогах и т. д.

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

   Как установить RSS ленту на сайт? Как раз это мы дальше и рассмотрим. Для начала рассмотрим саму структуру rss кода версии 2.0, т.к. вторая версия наиболее удобна. Выглядит это так:

<?php
 header("Content-Type: text/xml");
 echo "<?xml version=\"1.0\" encoding=\"windows-1251 либо та кодировка, которую вы используете"?>";
?>

<rss version="2.0">
<channel>
<title>Название канала</title>
<link>Адрес сайта</link>
<description>Описание</description>
<language>Язык(ru или en-us)</language>

<item>
<title>название</title>
 <link>ссылка на новость</link>
<description>краткое описание новости</description>
<author>email автора</author>
<guid>ссылка на страницу с новостью</guid>
</item>

</channel>
</rss>

   В принципе, код rss можно разделить на две части – это основной блок, который используется один раз и «меняющийся» блок новостей (находится между тэгом <item> и </item>). То есть в данном примере будет выводиться одна новость.

   Реализовать ленту rss на php не очень сложно. Для этого необходимо создать файл rss.php, который должен находиться в корневой папке вашего сайта на сервере. В файл rss.php вставляем приведенный код, только перед тэгом <item> соединяемся с базой данных, делаем запрос на выборку новостей, статей, либо другой информации, которую вы хотите выводить в rss-ленту, и в цикле do while через функцию printf выводим блоки новостей. Примерно, это будет выглядеть так:

<?php
 header("Content-Type: text/xml");
 echo "<?xml version=\"1.0\" encoding=\"windows-1251\"?>";
?>

<rss version="2.0">
<channel>
<title>Канал новостей </title>
<link>http://www.адрес вашего сайта/</link>
<description>Описание.</description>
<language>ru</language>
<?php
$database=mysql_connect("localhost либо адрес сервера,который вам дал ваш хостинг провайдер","Имя пользователя","Пароль");
mysql_select_db ("Имя базы данных",$database);
$a = mysql_query("SELECT id,title,description FROM название таблицы базы данных, откуда вы берете новости WHERE order by ‘id’ ");
if ($b = mysql_fetch_array($a))
{
do
{
printf ("<item>
<title>%s</title>
 <link>http://адрес сайта/адрес страницы с новостью .php?id=%s</link>
<description>%s</description>
<author>адрес эл.почты</author>
<guid>http://адрес сайта/адрес страницы с новостью.php?id=%s</guid>
</item>", $b["title"],$b["id"],$b["description"],$b["id"]);
}
while ($b = mysql_fetch_array($a));
}
?>
</channel>
</rss>

Примечание: все переменные и названия полей в таблице базы данных взяты условно и могут отличаться от ваших.

   После того, как файл rss.php готов открываем файл, где хотим вставить rss-ленту, например, пусть это будет index.php и вставляем между тэгами <head> и </head> следующую строку:

<link rel="alternate" type="application/rss+xml" title="News RSS" href="http://www.адрес сайта/rss.php" />

   Все, теперь вы знаете, как установить RSS ленту на сайт и  у вас будет своя RSS-лента новостей.

Просмотров: 47886

Комментарии к данной статье:

Добавил(а): Александр
Дата: 2009-10-09

Спасибо, у меня получилось!

Добавил(а): doro7
Дата: 2009-10-21

Дайте примеры РСС-ленты в интернете?

Добавил(а): ваня
Дата: 2009-10-27

спасибо все четко и доходчиво

Добавил(а): фига-се
Дата: 2009-11-09

код кривой - и получилось! вместо хоста - адрес базы!

Добавил(а): Роман
Дата: 2009-11-10

Да, действительно, не так выразился. Ошибку исправил, надеюсь теперь будет понятно.

Добавил(а): Асеев Роман
Дата: 2009-12-03

несколько вопросов возможно глупых. 1) Как зделать пользователю возможность подключиться к rss 2) Как регистрировать свой канал в специальных каталогах давать ссылку http://www.адрес сайта/rss.php

Добавил(а): Асеев Роман
Дата: 2009-12-03

Еще один вопрос на 1 вопрос я понял уже ответ. Как отдавать новости в rss канал, при обращение к скрепту возможно организовать полную отдачу всего чего есть на сайте, но как в дальнейшем отдаются новые новости что добавляются или отсеивание идет на стороне клиента или я должен организовать отдачу новостей ставить какую то метку в базе что данные новости уже уходили по каналу?

Добавил(а): Iam
Дата: 2009-12-05

Прекрасно! Самую суть - кратко и ёмко!

Добавил(а): Сергей
Дата: 2010-03-06

Перерыл много, тут самое понятное и рабочее обяъснение реализации RSS.

Добавил(а): Ia
Дата: 2009-12-20

Спасибо! большое)

Добавил(а): Катерина
Дата: 2010-02-12

Здравствуйте! С меня подрядчик за установку RSS-ленты просит 10000р, +2 недели работы, ощущение, что меня "нагревают":) если нет, прошу прощения... не подскажите?

Добавил(а): Роман
Дата: 2010-02-12

За 10000 рублей можно не только RSS-ленту установить, но и купить неплохой сайт с RSS-лентой. :)

Добавил(а): Serg
Дата: 2010-03-14

спасибо Вам очень полезно и сразу получилось!!!

Добавил(а): Сергей
Дата: 2010-03-06

Автор, зделай комменты по порядку!!! Выбор из базы по идентефикатору или дате. И убери страниццу когда неправильно вводишь код с картинки, а то сразу видно что код снят с уроков Е.Попова, ди и капчу хоть бы через случ. выборку.

Добавил(а): Влад
Дата: 2010-04-26

да,очень полезная информация,и хорошо выражено!

Добавил(а): Виктор Благирев
Дата: 2010-08-18

Вот интересное видео по теме: http://www.youtube.com/watch?v=hU2yVp07taU

Добавил(а): AlexKF
Дата: 2010-05-23

Описание СУПЕР ! 2а дня везде ищу, читаю - понять не могу. А тут за минуту сделал, все кратко, ясно и понятно. СПС автору !

Добавил(а): zzxx5003@gmail.com
Дата: 2010-06-19

Мне не понятно. 1-<title>Название канала</title> 2-<title>Канал новостей </title> 3-localhost либо адрес сервера,который вам дал ваш хостинг провайдер как узнать адрес сервера или наводящий пример напишите. 4- и как узнать работает она или нет. 5-как привязать логотип (картинку по которой будит заходить посетитель) Извините за вопросы я только начинаю ( в общим лузир ). Если у вас есть такая возможность то прошу прописать отдельный пост. С пошаговой инструкцией. Мы все лохобоиця и лузиры были бы вам премного благодарны. Спасибо за понимание.

Добавил(а): Сергей
Дата: 2010-09-17

всё в ажуре

Добавил(а): Петр
Дата: 2010-11-20

Вариант работы RSS ленты можно посмотреть на сайте http://nokiatouchblog.ru

Добавил(а): Сергей
Дата: 2010-10-28

Вот еще вариант www.rss-script.ru http://www.mobitechnika.ru

Добавил(а): Профи
Дата: 2011-11-03

Держите решение ваших проблем http://ru-element.ru/script/

Добавил(а): Akilla
Дата: 2011-12-20

Вопрос женский и глупый: а как быть, если сайт на HTML? Да, знаю, что все написано на HTML, PHP это почти одно и то же (это чтоб Вы не тратили времени, разьясняя это мне. Если есть возможность - подскажите, как на мой сайт установить новостную ленту. Заранее большое спасибо!

Добавил(а): Konstruktor
Дата: 2011-12-29

В случае сервиса http://ru-element.ru/script - нет возможности редактировать стили, скрепки и т.п. Было бы здорово, если бы кто-то написал пример (применительно к конкретной ленте, например RBC) файла парсера и кода для вставки на страничку с комментариями по коду. Как здесь: http://www.aarondunlap.com/index.php?content=rss_get

Добавил(а): алекс
Дата: 2011-01-23

можно воспользоваться сервисом http://ru-element.ru/script он генерирует код для любой ленты rss

Добавил(а): Семен
Дата: 2011-04-07

Помогите пожалуйста разобраться. Имеется некий сайт, где лента новостей сделана в виде php-страницы. Объясните, как вставить ленту новостей на страницу моего сайта.

Добавил(а): vasile
Дата: 2011-10-28

ne magu ustanaviti lentuna moei stranite

Добавил(а): ShtuGrass
Дата: 2011-04-29

...а как в моем случае быть? http://www.signlux.ru/ не получается!!!

Добавил(а): Вадим
Дата: 2012-08-05

Хороший пример новостной RSS-ленты на сайте stafio.ru

Добавил(а): Герман
Дата: 2012-08-29

Интересный вопрос.В вашем коде есть такие графы:<?php $database=mysql_connect("localhost либо адрес сервера,который вам дал ваш хостинг провайдер","Имя пользователя","Пароль"); mysql_select_db ("Имя базы данных",$database);... . Это что ж получается? Я в коде указываю своё имя и пароль на хосте? Т.е любой деятель откроет html код и увидит мой пароль и имя на хосте. И такого может там начудить, что потом прийдётся домен удалять. Любопытно.

Добавил(а): photoprikol.net
Дата: 2012-05-03

у меня все вышло спасибо ! www.photoprikol.net

Добавил(а): Михаил
Дата: 2012-12-13

Герман, не тупите. PHP код выполняется на сервере. В HTML выводится только то, что вы сами выведете. А фукнции с префиксом mysql выводом не занимаются.

Добавил(а): serhummer
Дата: 2013-05-09

понятно!!! чтож-тут непонятного...?

Добавил(а): Kort
Дата: 2012-07-05

Чет у меня вообще не получается http://monito.tk

Добавил(а): Ученики Евегений Попова
Дата: 2014-01-10

Так держат! Отличая статья! У Попова все таки научилсь.

Добавил(а): Pavel
Дата: 2014-06-12

СПАСИБО!!!

Добавил(а): kmm
Дата: 2013-09-14

Вот, получилось где-то так http://av-host.net/rss/ Так сколько штук должен отдавать сервер? Все что есть или сколько-то последних записей?

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

Введите сумму чисел с картинки:

Реклама