Гость Гость
| Тема: Импортирование информации с чужого сайта на свой сайт в свой 03.02.10 2:13 | |
| Пример предназначен для тех, кто начинает работать с php, и не только для них. Результатом работы программы(скрипта) является прогноз погоды на 5 дней для любого, интересующего Вас города, выводимый в виде, который нравится именно Вам, а не дизайнерам сайта-донора. Информация в таких случаях берется с известных серверов прогноза погоды (где не пишут фразу "запрещено использование информации" и т.п.). В данном случае используется сервер http://weather.yahoo.com , на котором есть страницы с погодой для довольно большого количества городов, и практически всегда можно найти если не интересующий Вас город, то ближайший ему и идентичный по погодным условиям. Это законченный проект, работающий на сайте www.czar.ru/weather/. Единственным недостатком является лишь то, что админу приходится вводить в текстовый файл (возможен вариант с mysql, но в том случае мне было проще сделать в файле) название населенного пункта на родном языке и ссылку на страницу с прогнозом погоды на него на сервере Яхо. Но никто за Вас этого делать не будет. Посему, скрипт состоит из 2-х частей: 1. Файл с администрированием (вводится в первую строку название города, на следующей строке - ссылка). Разбирать работу данной части, думаю, не стоит, комментариев более чем достаточно. 2. Файл с самой программой. Работа программы будет подробно описана ниже. 1. Администрирование. Выводим на экран форму с паролем pass. В окне вводятся: номера названия ссылки Затем, после нажатия на кнопку и проверки пароля, записываем новый список в файл. admin weather$adr=$DOCUMENT_ROOT."/weather/weather.ini"; // адрес файла, в котором и будут записываться названия городов со ссылками $password='pass'; // простенькая система авторизации $eror='Password eror!'; $old=file($adr); // читаем то, что сейчас есть в файле if ($submit) { // проверяем на нажатость кнопки if ($pass==$password) { $fp=fopen($adr,"w"); fwrite ($fp, $ini); // записываем в файл измененные данные fclose($fp); $old=file($adr); } else { echo $eror; } } ?> После ввода информации в файл в виде, получаем: 50 Ларнака http://weather.yahoo.com/forecast/Larnaca_CY_f.html 51 Пафос http://weather.yahoo.com/forecast/Paphos_CY_f.html "44" - номер города. "Ларнака" - название города. "http://weather.yahoo.com/forecast/Larnaca_CY_f.html" - ссылка на погоду в городе Ларнака на Яхе. Ссылки на города организовываются по принципу: Ларнакапример: А можно так: ЛарнакаНо если город из друх слов, то в пробелах пишем "%20" В таком случае, номера городов в списке не нужны: Ларнака http://weather.yahoo.com/forecast/Larnaca_CY_f.html Пафос http://weather.yahoo.com/forecast/Paphos_CY_f.html Если у нас не текстовый файл, а mysql, то все проще. Если кому понадобится вариант с mysql, пишите мне totoeval@mtu-net.ru 2. Программа (собственно, адаптер чужого кода к Вашему сайту).
$ini=$DOCUMENT_ROOT.'/weather/weather.ini'; $region=file($ini); // читаем файл со списком городов-ссылок а массив $region
// определение координат искомого города for ($i=0; $iif (trim($region[$i])==$weather) { // ищем номер города в списке $city=trim($region[$i+1]); // название города $adr=trim($region[$i+2]); // адрес страницы } else { } }
// если у нас передается информация не номером города, а названием, то: for ($i=0; $i$city=str_replace($city,"%20"," "); // заменяем "%20" на " " if (trim($region[$i])==$city) { // ищем название города в списке $adr=trim($region[$i+1]); // адрес страницы } else { } }
// Входная информация для дальнейшего кода - $adr (адрес страницы прогноза погоды для города на сайте http://weather.yahoo.com) и $city - название города на родном языке. //
// фразы для поиска полезной информации. Оригинал фраз можно обнаружить на странице, например, этой, проанализировав код.
// здесь заводим в переменные фразы, по которым будем искать нужную информацию (градусы, описания погоды, картинки). Используем фразы до и после необходимой информации. Этот блок в будущем придется изменять, когда на оригинале (weather.yahoo.com) изменится код страниц. На 14 авг. 2001 он работает. $begin_screen='FORECAST ----'; // начальная фраза таблицы с прогнозом погоды $end_screen=''; // последняя фраза таблицы $post_gradus='<'; // после градусов $before_gradus=''; // перед градусами $before_image='http://us.i1.yimg.com/us.yimg.com/i/we/fc/'; // перед картинкой $post_image='.gif'; // после картинки $before_forecast='top>'; // перед фразой погоды $post_forecast=''; // после фразы погоды
// массивы для переводов даты и описаний погоды с английского языка на родной (в данном случае использован вариант перевода с буржуйского на язык, которым разговаривал Ленин. $endat=array(" ","Mon","Tue","Wed","Thu","Fri","Sat","Sun", "May","Jul","Jun","Aug","Sep","Oct","Nov","Dec","Jan","Feb","Mar","Apr"); // английские даты $rudat=array(" ","понедельник","вторник","среда","четверг","пятница", "суббота","воскресенье","мая","июля","июня","августа","сентября","октября", "ноября","декабря","января","февраля","марта","апреля"); // родные даты $eng=array(" ","Thunderstorms","Sunny","Partly Cloudy","Showers","Rain", "Mostly Cloudy","Tstorms","Drizzle","Cloudy","Flurries","Fog","High", "Low","Clear","Sleet","Rain/snow","Snow Showers","Mixed Snow", "Rain", "Snow","Mixed"); // английские описания погоды $rus=array(" ","гроза","ясно","переменная облачность","ливень","дожди", "облачно","гроза","изморось","пасмурно","снегопад","туман","день","ночь", "ясно","дождь со снегом","дождь со снегом","мокрый снег","снег с дождем", "снег","переменно"); // российские аналоги погоды
$brdcolor='#ffffff'; // цвет рамки таблицы прогноза (белый) $bgcolor='#eeeeee'; //цвет фона ячеек таблицы (лучше - цвет фона страницы)
// А Здесь начинается код программы, который изменять не придется.
// занимаемся созданием даты, выводимой на экран.
Функция time() даст нам текущее время. Функцией date(d." ".M,$t[$i]) получаем дату текущего и последующих 4 дней, а date(D,$t[$i]) дает нам дни недели всех 5 дней. А затем переводим даты. |
| | | Astra Модератор
Дата регистрации : 2006-07-22
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 03.02.10 13:01 | |
| Спасибо! А еще какие-то информеры есть? Я сейчас ваяю сайтик и мне это очень пригодилось бы! | |
| | | Гость Гость
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 03.02.10 16:57 | |
| Astra на память не помню, но постараюсь сегодня пару линков кинуть. да кстати я сдесь одну особенность заметил,если ты в пхп разбираешса, посмотри у меня код почемуто в форму вывел, хотя так быть не должно. как будто тут разрешены html коды. |
| | | Astra Модератор
Дата регистрации : 2006-07-22
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 03.02.10 19:31 | |
| - Шмель пишет:
- Astra на память не помню, но постараюсь сегодня пару линков кинуть.
да кстати я сдесь одну особенность заметил,если ты в пхп разбираешса, посмотри у меня код почемуто в форму вывел, хотя так быть не должно. как будто тут разрешены html коды. Я тоже обратила внимание, но в чем тут дело не знаю... Треба подумать, дидов поспрошати... | |
| | | Гость Гость
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 03.02.10 22:02 | |
| - Astra пишет:
- Шмель пишет:
- Astra на память не помню, но постараюсь сегодня пару линков кинуть.
да кстати я сдесь одну особенность заметил,если ты в пхп разбираешса, посмотри у меня код почемуто в форму вывел, хотя так быть не должно. как будто тут разрешены html коды. Я тоже обратила внимание, но в чем тут дело не знаю... Треба подумать, дидов поспрошати... Хост в public html мой скрипт в индексе к себе в тело прикрутил)))))) cms с лагами. Да Astra к тебе просьба, отредактируй мою тему, там где идет сам код заключи его в теги - Цитата :
-
и все станет на свои места. Сам я уже не могу отредачить бутонна нема))) |
| | | Гость Гость
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 04.02.10 15:02 | |
| Astra держи информеры: Informer.ru Time-clock.biz Sakh.com Allmedia.ru Drupal.ru Forexpf.ru Welcome.kg Akmeter.ru Разные информеры. Юзай. |
| | | Admin Глава форума
Дата регистрации : 2006-07-20
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 04.02.10 19:49 | |
| - Шмель пишет:
Хост в public html мой скрипт в индексе к себе в тело прикрутил)))))) cms с лагами. Да Astra к тебе просьба, отредактируй мою тему, там где идет сам код заключи его в теги - Цитата :
-
и все станет на свои места. Сам я уже не могу отредачить бутонна нема))) А может просто HTML запретить? Глядишь само рассосется... | |
| | | Гость Гость
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 04.02.10 20:18 | |
| - Admin пишет:
- Шмель пишет:
Хост в public html мой скрипт в индексе к себе в тело прикрутил)))))) cms с лагами. Да Astra к тебе просьба, отредактируй мою тему, там где идет сам код заключи его в теги - Цитата :
-
и все станет на свои места. Сам я уже не могу отредачить бутонна нема))) А может просто HTML запретить? Глядишь само рассосется... Я писал об этом))). хтмл включенный немного опасен, хотя можно просто код в тег цитата заключить. Админ извини что не в теме......есть желание прикрутить к форуму сервис-генератор анонимайзер? и сразу помрет реферальство . И вдогонку вопрос, ты к форуму фтп вход имеешь? |
| | | Astra Модератор
Дата регистрации : 2006-07-22
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 05.02.10 13:44 | |
| - Шмель пишет:
Я писал об этом))). хтмл включенный немного опасен, хотя можно просто код в тег цитата заключить. Админ извини что не в теме......есть желание прикрутить к форуму сервис-генератор анонимайзер? и сразу помрет реферальство . И вдогонку вопрос, ты к форуму фтп вход имеешь? Лично я всегда считаю, что "лучшее - враг хорошего". Работает себе форум уже 4 года без всяких примочек - и пусть дальше работает... Но Админу виднее... | |
| | | Гость Гость
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 05.02.10 15:15 | |
| - Astra пишет:
- Шмель пишет:
Я писал об этом))). хтмл включенный немного опасен, хотя можно просто код в тег цитата заключить. Админ извини что не в теме......есть желание прикрутить к форуму сервис-генератор анонимайзер? и сразу помрет реферальство . И вдогонку вопрос, ты к форуму фтп вход имеешь? Лично я всегда считаю, что "лучшее - враг хорошего". Работает себе форум уже 4 года без всяких примочек - и пусть дальше работает... Но Админу виднее... тебя не поймешь ASTRA, семь пятниц на неделе. мдааааааа сложность в ТМ это мы сами. стрем кароче. |
| | | Admin Глава форума
Дата регистрации : 2006-07-20
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 05.02.10 16:25 | |
| - Шмель пишет:
тебя не поймешь ASTRA, семь пятниц на неделе. мдааааааа сложность в ТМ это мы сами. стрем кароче. Это точно Но лучше пока без нововведений. Вот как переедем на платный хостинг - тогда начнем совершенствоваться и улучшаться. Домен уже приобретен, идет работа над сайтом. Вам спасибо за активность! | |
| | | Гость Гость
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 06.02.10 1:23 | |
| - Admin пишет:
- Шмель пишет:
тебя не поймешь ASTRA, семь пятниц на неделе. мдааааааа сложность в ТМ это мы сами. стрем кароче. Это точно Но лучше пока без нововведений. Вот как переедем на платный хостинг - тогда начнем совершенствоваться и улучшаться. Домен уже приобретен, идет работа над сайтом. Вам спасибо за активность! Дело барское. А меня с собой возмете?)))))))) Да кстати Админ, если помощ нужна говори, чем смогу помогу без вопросов, инэт анлим, да и вроде golova.dll и pryamye ruki.drv на месте.))))))))) |
| | | Лёха Постоянный собеседник
Дата регистрации : 2006-08-07
| Тема: Re: Импортирование информации с чужого сайта на свой сайт в свой 06.02.10 9:10 | |
| - Шмель пишет:
Дело барское. А меня с собой возмете?)))))))) Да кстати Админ, если помощ нужна говори, чем смогу помогу без вопросов, инэт анлим, да и вроде golova.dll и pryamye ruki.drv на месте.))))))))) Вот это я одобряю! Молодец! | |
| | | | Импортирование информации с чужого сайта на свой сайт в свой | |
|
| Права доступа к этому форуму: | Вы не можете отвечать на сообщения
| |
| |
| |