| |
|
|
| | Опять же хочу разобраться с RSS новостями. Есть вот такой скрипт:
<?php
$text = file_get_contents("http://news.yandex.ru/theaters.rss");
if($text)
{
$Months=array('Jan'=>'01', 'Feb'=>'02', 'Mar'=>'03', 'Apr'=>'04', 'May'=>'05', 'Jun'=>'06', 'Jul'=>'07', 'Aug'=>'08', 'Sep'=>'09','Oct'=>'10','Nov'=>'11','Dec'=>'12');
$Days=array('Mon'=>'Пн', 'Tue'=>'Вт', 'Wed'=>'Ср', 'Thu'=>'Чт', 'Fri'=>'Пт', 'Sat'=>'Сб', 'Sun'=>'Вс');
$pattern = "/<item>(.*?)<\/item>/ims";/* регулярное выражения для выбора данных между двумя тегами <item></item>*/
preg_match_all($pattern, $text, $array);
$patt1 = "/<title>(.*?)<\/title>/ims";/*Заголовок новости*/
$patt2 = "/<description>(.*?)<\/description>/ims";/*тело новости*/
$patt3 = "/<pubDate>(.*?)<\/pubDate>/ims";/*дата публикации*/
$patt4 = "/<link>(.*?)<\/link>/ims";/*ссылка на сайт новостей*/
$i=0;
foreach ($array[1] as $v){
preg_match_all($patt1, $v, $temp);
$news[$i]['title'] = $temp[1][0];
preg_match_all($patt2, $v, $temp);
$news[$i]['description'] = html_entity_decode($temp[1][0]);
/*php автоматически переконвертил html символы поэтому вернем все обратно :)*/
preg_match_all($patt3, $v, $temp);
$news[$i]['pubDate'] = $temp[1][0];
preg_match_all($patt4, $v, $temp);
$news[$i]['link'] = urldecode($temp[1][0]);
$i++;
}
foreach ($news as $v){
foreach($Days as $EngName => $RusName)
$v['pubDate']=str_replace($EngName, $RusName, $v['pubDate']);
foreach($Months as $EngName => $RusName)
$v['pubDate']=str_replace($EngName, $RusName, $v['pubDate']);
$v['link']=str_replace("http://news.yandex.ru/theaters.rss", $v['link']);
$v['pubDate']=str_replace(GMT, "", $v['pubDate']);
$v['pubDate']=rtrim($v['pubDate']);
echo "<div class=news_title><br><a href=".$v['link'].">".$v['title']."</a></div><a class=answers>".$v['description']."<font color='#666666'> [".$v['pubDate']."]";
}
}
?>
|
Я этот скрипт сохраняю как файл с расширением .php и загружаю на сервер. При обращении к этому скрипту выводится следующее сообщение: 504 Gateway Time-out. Что делать? Помогите? В RSS технологии я пока не очень разбираюсь. | |
| |
|
|
| |
|
|
| |
для: Footer
(16.02.2007 в 17:55)
| | | Попробуй добавить в начале
| |
| |
|
|
| |
|
|
| |
для: Alph[p]a
(16.02.2007 в 18:06)
| | | Добавил, но не помогло. Не знаю что и делать. В чём может быть причина неработы скрипта? Помогите, знающие люди! Хелп!!! | |
| |
|
|
| |
|
|
| |
для: Footer
(16.02.2007 в 18:45)
| | | >Я этот скрипт сохраняю как файл с расширением .php и загружаю на сервер
в смысле на хост? или на локальный сервер? | |
| |
|
|
| |
|
|
| |
для: ddhvvn
(16.02.2007 в 18:55)
| | | да, на хост. | |
| |
|
|
| |
|
|
| |
для: Footer
(16.02.2007 в 19:03)
| | | Возможно, хостер запретил использовать set_time_limit() ...
Проконсультируйтесь с ним (хостером) по этому поводу. | |
| |
|
|
| |
|
|
| |
для: ddhvvn
(16.02.2007 в 19:26)
| | | Да, это проблема хостра. А не подскажите бесплатные хостинги, на которых работает этот скрипт? | |
| |
|
|
| |
|
|
| |
для: Footer
(17.02.2007 в 09:00)
| | | На хостинге мне сказали, что у них нельзя использовать сокеты. А что это такое, я не знаю. Просветите! | |
| |
|
|
| |
|
|
| |
для: Footer
(17.02.2007 в 15:13)
| | | На беслпатных хостингах, как правило, запрещают обращение к удалённым хостам (чтобы не ломали), поэтому с беслатного хостинга нельзя взять файл с чужого хоста - только со своего. | |
| |
|
|
| |
|
|
| |
для: cheops
(17.02.2007 в 15:20)
| | | То есть получается, что RSS-новости на бесплатных хостингах вообще применять невозможно? | |
| |
|
|
| |
|
|
| |
для: Footer
(17.02.2007 в 16:43)
| | | Может Вам еще asp.net на бесплатном хостинге нужно? ;-)) | |
| |
|
|
| |
|
|
| |
для: Footer
(17.02.2007 в 16:43)
| | | $rss = implode ('', file(url));
тоже не хочет? | |
| |
|
|
| |
|
|
| |
для: bronenos
(17.02.2007 в 18:25)
| | | Да, тоже не хочет. | |
| |
|
|