Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как устроить RSS? 
:(
    Опции темы
pushok
Дата 27.8.2011, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



Доброго времени суток.

Посмотрел как устраивается RSS (файл *.xml).

При этом вижу 2 способа реализации (при добавлении новой новости):

1. Добавление к файлу кусочка кода
2. Хранить все RSS в базе и каждый раз создавать новый файл из таблицы

И тут такие вопросы:

В любом случае файл рано или поздно станет большим. Соответственно:

Надо ли удалять старые записи при добавлении новых (новостей около 50 в месяц) ??
Что для сервера будет быстрее: добавлять строки в файл или полностью его перезаписывать?

Заранее благодарю за прояснение ситуации.

и еще такой вопрос:

чем отличаются теги <link> и <guid> ??

Это сообщение отредактировал(а) pushok - 27.8.2011, 00:14
PM ICQ   Вверх
Gold Dragon
Дата 29.8.2011, 07:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



а что мешает выполнять простой PHP-запрос, а в нём просто брать к примеру последние 20 записей из базы? А вставлять типа такого
Код

<link type="application/rss+xml" href="http://mysite.ru/rss2.php" />


Добавлено через 10 минут и 35 секунд
Цитата(pushok @  27.8.2011,  01:11 Найти цитируемый пост)
чем отличаются теги <link> и <guid> ??
первое - это ссылка на статью.. Второе это уникальный идентификатор статьи, который может быть в том числе и URL, а может и не быть. Обычно это одно и тоже. Но лучше в guid выставить isPermaLink="false" и в самой прописать уникальный идентификатор статьи. Говорят что в таком случае у читалок меньше проблем будет




--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
ayax2005
Дата 29.8.2011, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


echo $smile
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 17.4.2008
Где: Питер

Репутация: 2
Всего: 11



Gold Dragon правильно вещает - если будете хранить файл, на нового подписчика будет валиться весь архив вашего потока.


--------------------
все вопросы - из-за неверной формулировки задачи
PM MAIL ICQ   Вверх
ksnk
Дата 29.8.2011, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



ayax2005, А кто мешает хранить в файле ТОЛЬКО 20 последних новостей?

Добавлено через 3 минуты и 23 секунды
ayax2005, Извиняюсь, не дочитал smile

Цитата(pushok @  27.8.2011,  00:11 Найти цитируемый пост)
Что для сервера будет быстрее: добавлять строки в файл или полностью его перезаписывать?

Файл с новостями будет маленьким. К тому-же если писать его 2 раза в день, то не имеет значения скорость записи.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
pushok
Дата 31.8.2011, 04:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



Всем большое спасибо

недопонимал сути работы rss: оказывается надо хранить только последние записи = ))

Это сообщение отредактировал(а) pushok - 31.8.2011, 04:03
PM ICQ   Вверх
pushok
Дата 31.8.2011, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 7.2.2007

Репутация: нет
Всего: нет



И еще вопрос. Написал функцию
Код

// Функция создает файл RSS-ленты
function f_rewrite_rss()
    {
    $fp=fopen(CONST_DIR_RSS.'/news.xml', 'w');
    $temp_text='<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
    <title>название</title>
    <link>сайт</link>
    <description>описание</description>
    <copyright>Copyright</copyright>
    <managingEditor>почта</managingEditor>
    <language>ru</language>';
    fwrite($fp,$temp_text);
    
    $query='SELECT * FROM '.CONST_BD_TABLE_NEWS_RSS.' ORDER by date desc LIMIT 0,20';
    $result_rss=mysql_query($query);
    for($i=0;$i<mysql_num_rows($result_rss);$i++)
        {
        fwrite($fp,'<item>');
        fwrite($fp,'<title>'.mysql_result($result_rss,$i,'title').'</title>');
        fwrite($fp,'<description>'.mysql_result($result_rss,$i,'text').'</description>');
        fwrite($fp,'<link>index.php?page_id=-2&id_news='.mysql_result($result_rss,$i,'id_news').'</link>');
        fwrite($fp,'<guid>index.php?page_id=-2&id_news='.mysql_result($result_rss,$i,'id_news').'</guid>');
        fwrite($fp,'</item>');
        }
    fwrite($fp,'</channel></rss>');
    fclose($fp);
    }


и в обшем-то функция выполняется, но файл не создается...может я чего намудрил?
PM ICQ   Вверх
MoLeX
Дата 31.8.2011, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



pushok, права есть? логи смотри


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1225 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.