
Не большой скрипт предназначенный для грабинга погоды с сайта gismeteo.ru, а именно скрипт открывает с сайта gismeteo.ru данные из XML файла и разбирает его на составляющие.
Скрипт просто в использовании вам достаточно знать ID вашего города, узнать ID вашего города вы можете на сайте
http://informer.gismeteo.ru/xml.html, далее выбираете в списках страну и город, например, страна Россия город Москва. Находим url следующего вида
http://informer.gismeteo.ru/xmlinf/27612_1.xml из него мы берём последнюю часть
27612_1.xml для того чтобы нам вывести погоду на сайте нужно скачать архив Weather, скачать его можно по следующей ссылке
[скачать 53.1 Кб].
После чего распаковываем архив, открываем файл
weather.php убираем всё что там есть и вставляем следующее 5 строчек, не забывайте
- require_once'class.weather.php';
- $w = new Weather;
- $w->ConnectCache('28367_1.xml');
- echo $w->city;
- echo $w->weather;
* This source code was highlighted with Source Code Highlighter.
Потом закидываем на хостинг и запускаем weather.php и вот у вас погода в Москве на 24 часа вперёд.
Данные полностью разобраны вы можете изменять класс как вам угодно, вывести данные тоже, возможно, как угодно, для этого открываем файл class.weather.php, он, более менее, от комментирован.
Есть возможность кешировать данные и задавать время обновления, по умолчанию 7200 сек или 2 часа, в приведённом выше примере данные кешируются, для того чтобы задать время кеширование посмотрите след. пример., т.е. через 3 часа кеш-файл обновиться.
- require_once'class.weather.php';
- $w = new Weather;
- $w->ConnectCache('28367_1.xml','10800');
- echo $w->city;
- echo $w->weather;
* This source code was highlighted with Source Code Highlighter.
Для того чтобы вывести данные без кеширования достаточно изменить одну строчку, смотрите след. пример.
- require_once'class.weather.php';
- $w = new Weather;
- $w->Connect('28367_1.xml');
- echo $w->city;
- echo $w->weather;
* This source code was highlighted with Source Code Highlighter.
Переменная
$w->city это название города, а переменная
$w->weather это погода в городе.
Скрипт больше всего подходит для создания блока погоды на сайте, но вы можете зменить его как вам угодно. Сразу предупрежу быдло пыхпых код. Вопросы предложения пожелания в комментариях.
Могут возникнуть проблемы с функцией file_get_contents() т.к. на некоторых хостингах директива allow_url_fopen в php.ini выключена и включить её через .htaccess не получится.