RSS & PHP

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
vitpanov
Сообщения: 100
Зарегистрирован: 18 сен 2005, 18:51
Откуда: Россия

Извините может не в эту темы топик , но все же. Как сделать PSS-ленту новостей на php? Покажите плз.
Сомневаешься - не делай,
не сомневаешся - подумай!
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Руками :) Функцию print знаешь? Вот её и можно сделать.
Даже самый дурацкий замысел можно воплотить мастерски
vitpanov
Сообщения: 100
Зарегистрирован: 18 сен 2005, 18:51
Откуда: Россия

AiK, ты имеешь в виду printf:?:И вообще не мог бу понятнее объяснить.
Сомневаешься - не делай,
не сомневаешся - подумай!
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

RSS - это XML файл определённой структуры. Нужно найти в гугле описание этой структуры (а их минимум две версии 1.0 и 2.0) и породить этот XML файл строго по описанию. Самый простой способ - это вывести при помощи print или echo данные в огружении нужных XML тэгов.
Даже самый дурацкий замысел можно воплотить мастерски
vitpanov
Сообщения: 100
Зарегистрирован: 18 сен 2005, 18:51
Откуда: Россия

AiK, получается когда мы нажимаем на баннеры для подписки на RSS-новости, мы открываем страницу с кодом в окружении XML-тэгов, и тем самым подписываемся на рассылку новостей? Ладно. Пороюсь в Гугле. Спасибо,AiK.
Сомневаешься - не делай,
не сомневаешся - подумай!
vitpanov
Сообщения: 100
Зарегистрирован: 18 сен 2005, 18:51
Откуда: Россия

Вот этот код организует подписку на новости.

Код: Выделить всё

<?xml version="1.0" encoding="windows-1251" ?>
<rss version="2.0">
   <channel>
     
     <title>Новости вашего сайта.</title>
     
     <link>http://yoursite.com/articles/2006/08/18/01.html</link>
     
     <description>Текст вашей статьи.</description>
     
     <author>author@mail.com</author>
     
     <enclosure url="http://yorsite.com/files/archive.zip" />
   </channel>
  </rss>
Сомневаешься - не делай,
не сомневаешся - подумай!
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Гм. Подписку организует feed reader.
Даже самый дурацкий замысел можно воплотить мастерски
vitpanov
Сообщения: 100
Зарегистрирован: 18 сен 2005, 18:51
Откуда: Россия

Гм. Подписку организует feed reader.
AiK,объясни подробнее.
Сомневаешься - не делай,
не сомневаешся - подумай!
vunder
Сообщения: 74
Зарегистрирован: 10 май 2006, 12:19
Откуда: Санкт-Петербург
Контактная информация:

Я делал это так:

Код: Выделить всё

<?php

require ("database_connect.php");

if (!mssql_select_db($Site_db))
  exit;
if (!$res=mssql_query("
  SELECT TOP 10
    News.ID,
    News.Title,
    News.Link,
    News.Descr,
    News.PubDate,
    News.ItemID,
    Files.Name,
    Files.FolderID,
    Files.FileName,
    Files.ShortDescription
  FROM News
    LEFT JOIN Files ON (News.ItemID=Files.ID)
--  WHERE (News.ItemID>0)
  ORDER BY News.ID DESC
  "))
  return;
print ("<?xml version=\"1.0\" encoding=\"windows-1251\" ?>\n");
print ("<rss version=\"2.0\">\n");
print ("  <channel>\n");
print ("    <title>Новости сервера DND FTP</title>\n");
print ("    <link>http://10.50.103.214/</link>\n");
print ("    <description>Информация о всех файлах, дистрибутивах и электронных книгах FTP DND (ftp://10.50.103.214/)</description>\n");
print ("    <language>ru</language>\n");
print ("    <webMaster>vunder@bk.ru</webMaster>\n");
while ($row=mssql_fetch_array($res)) {
  print ("    <item>\n");
  if ($row[5]<=0) {
    $title=$row[1];
    $link=$row[2];
    $descr=$row[3];
  } else {
    $title=$row[6];
    $link="http://10.50.103.214/?action=Item&ID=".$row[5];
    $descr=$row[9];
  }
  $date=$row[4];
  print ("      <title>$title</title>\n");
  print ("      <link>$link</link>\n");
  print ("      <description>$descr</description>\n");
  print ("      <pubDate>$date</pubDate>\n");
  print ("      <guid>$row[0]</guid>\n");
  print ("    </item>\n");
}
print ("  </channel>\n");
print ("</rss>\n");

?>
Ответить