Все привет, помогите реализовать рсс реадер на пхп... Что имею ввиду: есть сайт с рсс новостями, так вот надо что бы скрипт их читал и записывал в файл в виде текста... а при заходе на скрипт выдавал их как статьи.... PHP: <?php error_reporting(0); ini_set('user_agent',$_SERVER['HTTP_USER_AGENT']); //грузим rss файл $data = file_get_contents('http://bash.org.ru/rss/'); //обрабатываем preg_match_all('|<pubDate>(.+)</pubDate>|i',$data,$dat); preg_match_all('|<description><!\[CDATA\[(.+)\]\]></description>|i',$data,$content); //теперь у нас есть 2 массива по 100 элементов, воспользуемся постраничным выводом //всего элементов $all = sizeof($content[1]); //число сообщений на странице $pnumber=10; //номер страницы $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1; //число страниц $num_pages = ceil($all/$pnumber); //начальная позиция $start = $page*$pnumber-$pnumber; //проверка номера страницы if($page > $num_pages || $page < 1) { $page=1; $start=0; } //заголовки if(substr_count($_SERVER['HTTP_USER_AGENT'], 'MSIE')) {header('Content-type: text/html; charset=utf-8');} else {header('Content-type: application/xhtml+xml; charset=utf-8');} header('Cache-control: no-cache'); //выводим верх страницы (html код, выносим за <?php print '<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"> <head> <title>'.$_SERVER['HTTP_HOST'].'</title> </head> <body>'; //выводим цитаты if($all) { for($i=$start; $i<$start+$pnumber; $i++) {print '<p style="border:1px solid;padding:2px">'.$dat[1][$i].'<br />'.str_replace('<br>','<br/>',iconv('windows-1251','utf-8',$content[1][$i])).'</p>';} //навигация echo '<p>'; for($pr = '', $i=1; $i<=$num_pages; $i++) { echo $pr=(($i == 1 || $i == $num_pages || abs($i-$page) < 2) ? ($i == $page ? " [$i] " : ' <a href="'.$_SERVER['SCRIPT_NAME'].'?page='.$i.'">'.$i.'</a> ') : (($pr == ' ... ' || $pr == '')? '' : ' ... ')); } echo '</p>'; } else {echo '<p>ыыыы.... нет ничего</p>';} print '</body></html>'; ?> это пример баша... только тут чтение... а нам нужно что бы новости сохранялись...
Ну и что сложного ? Вместо print и echo, инфу схраняй в переменную, а потом запиши в файл fwrite(); и удали Еще можно сделать, каждую новость в разный файл
Я что на дауна похож? Конешно же проверял.... Говорю же что при записи он просто не качает новости...
Нужно убрать, что б ошибку в браузер не "выдавало" Рабочий код: Код 100% рабочий, если у тебя не получиться, смотри права на запись(может ли твой скрипт создавать файлы) рузультат выложить?
Покажи что у тебя вышло? Писать пишет, но на выводе пусто... + код перезаписывается, а надо ДОписывать новые а не перезаписывать старые... Что то я туплю наверное...
Замени $f = fopen("text.txt", "w"); на $f = fopen("text.txt", "a"); 'a' - Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его сздать Содержимое файла text.txt, которое меняеться взависимости от переданной переменной $page Пожалуйста
Возникнут проблемы - пиши Для вывода, расскоментируй заголовки и в конце добавь Будет помимо записи еще и в браузер выводить
А как реализовать что бы он не переписывал файл, а дописывал..... Допустим новая новость, он ее дописал, вот так
дак написано же: вместо $f = fopen("text.txt", "w"); пиши $f = fopen("text.txt", "a"); или $f = fopen("text.txt", "a+");
боже мой, какие мы ленивые (* вот, почитай http://php.net/manual/en/function.fopen.php Naydav насколько я помню "w" создает файл если его нет и перезаписывает если он есть