VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
сейчас хочу доработать скрипт чтоб отображалась погода в таблице и не только какая сейчас.
скрипт грабит то что надо. но не могу заставить его выводить на экран... подскажите что делать?
Code:
<?php // использовал при отладке.
$filename = 'weather.txt';
if (file_exists($filename)) {
$file_time= filemtime($filename);
}
$now_time=strtotime("-5 minutes");
if ($file_time<$now_time || !file_exists($filename)) {
$lines = file('http://irk.ru');
$out="";
foreach ($lines as $line_num => $line) {
$out.=$line;
}
$pos=strpos($out,'class="layoutCont weather" width="25%"');
$pogoda_out='<b>Погода в Иркутске</b> '. substr($out,$pos+41,750);
$fp=fopen('weather.txt',"w+");
fwrite($fp,$pogoda_out);
fclose($fp);
}
$fp=file('weather.txt');
$pogoda_out=$fp;
$pogoda_out //просто для теста пытаюсь хотяб вывести тутже.
?> // использовал при отладке.
если запустить этот скрипт то он выдаст сграбленный кусок с irk.ru
вот только проблема. не могу нормально заставить его работать.
инфа с сайта кладется в weather.txt
а потом выводится переменной $pogoda_out
неполучается нормально вывести...
извиняюсь. блин. не в ту тему кинул. переместите плиз....
zar, тут уже гдето писалось о погоде. Может тебе просто сервер не позволяет записи делать, посмотри какой chmod стоит у тебя. поставь 777. код твой не смотрел, некогда...
@zCarot
zМарковь
Хочет третью строчку =)
Join Date: May 2005
Location: Лольск
Posts: 2,883
Версия vB: 3.8.x
Reputation:
Гуру 7454
Репутация в разделе: 1223
0
буагага, извращенцы
@zar
Продвинутый
Join Date: Apr 2007
Posts: 130
Версия vB: 5.x.x
Reputation:
Опытный 15
Репутация в разделе: 15
0
Дьявол,
дело не в chmod
именно в файл инфа приходит. а вот из файла отображаться не хочет. видимо потому что берется php а грабится html
может кто нить подскажет как лучше реализовать?
PS смотрел модули погоды на сайте. непонравилось. хочу именно такой свой.
просто не сильно шарю в php но интересно как сделать....
может кто нить у себя запустит последний скрипт и посмотрит что к чему...
@Martell
Эксперт
Join Date: Oct 2006
Location: Online
Posts: 2,116
Версия vB: 3.8.x
Пол:
Reputation:
Мастер 3507
Репутация в разделе: 2741
1
Cам еще в php не очень волоку,ну вот парсер новостей XML.Думаю и погоду через него можно наладить.
Quote:
rss (really simple syndication) был разработан фирмой netscape и представляет собой расширение xml созданное специально для оформления новостных лент. На сегодняшний день формат пережил уже 2-ю редакцию и является общепринятым стандартом для разметки новостей.
<item>
<title>rss - вкусные новости </title>
<link>http://riscom.com/~none/</link>
<description>Что такое rss и с чем его едят</description>
</item>
</rss>
Структура достаточно наглядна и понятна.
Два общих блока (channel и image), применяемых к целому документу и блок(и) item, содержащий сами новости.
Блок channel определяет источник новостей:
title - имя сайта;
description - описание;
link - адрес
Блок image - графическое отображение сайта:
title - название;
link - адрес картинки;
width, height - ширина и высота.
Блоков item может быть сколько угодно и в них описываются сами новости:
title - заголовок;
link - адрес самой новости;
description - описание.
Всё, что находится выше тэга rss называется заголовком документа и применяется к любому xml документу, конечно же с соответствующими корректировками.
Теперь, после того, как мы научились создавать rss документ, давайте подумаем, что нам со всем этим добром делать.
Первая, и самая лёгкая идея, это, конечно же, ничего с ним не делать, просто создать процедурину автоматической генерации rss из любой публикуемой новости и забыть о нём. Дескать, пускай те, кому это нужно, сами парсят его.
Но, предположим, что у нас есть некоторый ресурс, на котором мы хотим публиковать новости всем известного сайта www.ionpopescu.md, а господин popescu ни в какую не хочет предоставлять их (новости), в каком либо другом формате кроме как в rss.
Что нам остаётся?
Правильно! Будем парсить.
Здесь, опять же, есть два выхода: первый - воспользоваться всеми известными парсерами xml типа sablotron и не морочить себе голову, второй - морочить.
У второго варианта есть и ещё одно оправдание, представьте что вы пользуетесь каким-нибудь бесплатным хостингом, и хостер ну ни в какую не хочет устанавливать у себя sablotron или его аналоги.
И сам скрипт:
<?php
function startelement($parser, $name, $attrs) {
global $tag, $rss;
if ($name == 'rss')
$rss = '^rss';
elseif ($name == 'rdf:rdf')
$rss = '^rdf:rdf';
$tag .= '^' . $name;
}
function endelement($parser, $name) {
global $tag;
global $itemcount, $items;
if ($name == 'item') {
$itemcount++;
if (!isset($items[$itemcount])) $items[$itemcount] = array('title' => '', 'link' => '', 'desc' => '', 'pubdate' => '');
}
$tag = substr($tag, 0, strrpos($tag, '^'));
}
function characterdata($parser, $data) {
global $tag, $chantitle, $chanlink, $chandesc, $rss, $imgtitle, $imglink, $imgurl;
global $items, $itemcount;