Привет всем. В четвертом номере мы уже рассматривали технологию RSS. Сегодня давайте подробнее остановимся на том, как можно «прикрутить» ее к сайту и заодно исправим небольшую ошибку в отправке заголовков.
В нашей программе есть несколько составляющих.
1. Новости нашего канала нужно где-то хранить. Это может быть текстовый файл или база данных.
2. Нужен скрипт (будем использовать PHP), который будет автоматически генерировать RSS-ленту из имеющихся у нас новостей. Тогда нам не придется каждый раз составлять новый rss-документ, а просто добавлять новости в файл (или БД) по средствам простой формы.
3. Сама форма – простая админ-панель для добавление новостей.
Итак, начнем с первого пункта. Если Вашему сайту хватит одного фида, то, на мой взгляд, использовать для хранения новостей базу данных не целесообразно. Для того, чтобы хранить данные в текстовом файле удобнее всего сохранять их в массив (ведь каждая новость имеет заголовок, описание), а затем запаковывать в строку с помощью функции serialize() и записывать в файл. Чтобы восстановить массив обратно из строки служит функция unserialize() (подробнее об этих функциях см. №3 «подшивки»).
Таким образом, я буду исходить из того, что мы имеем массив $file, где поле title – заголовок новости, а body – ее описание.
$open=file_get_contents("rss.txt");//считываем файл
$file=unserialize($open);//превращаем обратно в массив
//выводим все новости из массива
foreach ($file as $item) {
print '
<item>
<title>'.$item['title'].'</title><link>'.$url.'</link>
<description>'.$item['body'].'
</description>
<author>( '.$name.')</author>
</item>';
}
?>
</channel>
</rss>
Вот и все, осталось только написать скрипт, который будет брать данные из формы (заголовок и описание новости), добавлять их в массив и записывать в файл. Выглядит он примерно так.