Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
Extended weather informer. Wunderground.com
- Aleksej
- Автор темы
- Не в сети
- Модератор
Less
Больше
8 года 9 мес. назад #1
от Aleksej
Aleksej создал тему: Extended weather informer. Wunderground.com
Ниже приведен код скрипта, работой которого можно всласть полюбоваться
в блоге
.
Code:
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$url = 'http://api.sypexgeo.net/xml/'. $ip .'';
$xml = simplexml_load_string(file_get_contents($url));
$loc_array = array($xml->ip->city->lat,$xml->ip->city->lon);
$loc_safe = array();
foreach($loc_array as $loc){
$loc_safe[] = urlencode($loc);
}
$loc_string=implode(',', $loc_safe);
$json = file_get_contents('http://api.wunderground.com/api/vash_api_key/conditions/satellite/webcams/forecast/q/' . $loc_string . '.json');
$obj = json_decode($json, true);
$webcam_key = array_rand(array_keys($obj['webcams']), true);
?>
<div><strong><?=($obj['current_observation']['display_location']['full']);?></strong></div>
<div><?=($obj['current_observation']['local_time_rfc822']);?></div>
<div><?=('Lat ' . $obj['current_observation']['display_location']['latitude']);?></div>
<div><?=('Lon ' . $obj['current_observation']['display_location']['longitude']);?></div>
<h4>Weather forecast</h4>
<?
$html .= "</h2><table cellpadding=10 cellspacing=5><tr>";
foreach ($obj['forecast']['simpleforecast']['forecastday'] as $arr) {
$html .= "<td align='center'>" . $arr['date']['weekday'] . "<br />";
$html .= "<img src='http://icons-pe.wxug.com/i/c/k/" . $arr['icon'] . ".gif' border=0 /><br />";
$html .= "<font color='red'>" . $arr['high']['celsius'] . '°C' . " </font>";
$html .= "<font color='blue'>" . $arr['low']['celsius'] . '°C' . "</font>";
$html .= "</td>";
}
$html .= "</tr></table>";
echo $html;
?>
<h4>Satellite</h4>
<div><?='<img width="200" src="' . $obj['satellite']['image_url'] . '"/>';?></div>
<h4>Weather today</h4>
<div><?='<img src="' . $obj['current_observation']['icon_url'] . '"/>';?></div>
<div><?=($obj['current_observation']['temp_c'] . '°C');?></div>
<div><?=($obj['current_observation']['weather']);?></div>
<div><?=('Humidity ' . $obj['current_observation']['relative_humidity']);?></div>
<div><?=('Pressure ' . $obj['current_observation']['pressure_mb'] . 'mb');?></div>
<div><?=('Visibility ' . $obj['current_observation']['visibility_km'] . 'km');?></div>
<div><?=($obj['forecast']['txt_forecast']['forecastday']['0']['fcttext']);?></div>
<h4>Random webcam</h4>
<div><?='<img width="200" src="' . $obj['webcams'][$webcam_key]['CURRENTIMAGEURL'] . '"/>';?></div>
<p> </p>
<div><?=($obj['webcams'][$webcam_key][neighborhood]);?></div>
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- boris_term
- Не в сети
- Захожу иногда
Less
Больше
- Сообщений: 55
- Спасибо получено: 3
8 года 4 мес. назад #2
от boris_term
Бреем, стрижем. Недорого берем.
boris_term ответил в теме Extended weather informer. Wunderground.com
Wunderground не работает чето нифига сегодня... это только у меня так?
Бреем, стрижем. Недорого берем.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
- Не в сети
- Модератор
Less
Больше
- Сообщений: 986
- Спасибо получено: 146
8 года 4 мес. назад #3
от serge
А я смогу! - А поглядим! - А я упрямый!
serge ответил в теме Extended weather informer. Wunderground.com
не, не думаю. Уже чинят.
Weather Underground @wunderground 20 мин.20 минут назад:
We're experiencing a service disruption, our engineers are investigating. Thanks for your patience!
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Автор темы
- Не в сети
- Модератор
7 года 11 мес. назад - 7 года 8 мес. назад #4
от Aleksej
Снова проблемы, сервис работает, но не получается получить картинку с веб-камеры (см. демо в блоге). Причем если через проксю, европейскую или американскую, то вроде пашет, а напрямую нет:
Aleksej ответил в теме Extended weather informer. Wunderground.com
serge пишет: не, не думаю. Уже чинят.
Снова проблемы, сервис работает, но не получается получить картинку с веб-камеры (см. демо в блоге). Причем если через проксю, европейскую или американскую, то вроде пашет, а напрямую нет:
Code:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>*****************</RequestId>
<HostId>
*******************************
</HostId>
</Error>
Последнее редактирование: 7 года 8 мес. назад пользователем p.rishard.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Автор темы
- Не в сети
- Модератор
7 года 8 мес. назад #5
от Aleksej
Aleksej ответил в теме Extended weather informer. Wunderground.com
Да, картинки веб-камеры в полученном JSON может и не быть, в этом случае HTML у нас с вами окажется не слишком красивым. Добавим в информер несложное условие, позволяющее проверить изображение: оно есть либо его все же нет? Теперь фрагмент кода, отвечающий за отображение статичной картинки веб-камеры, способен выглядеть у нас с вами, например, следующим образом...
Как добавить проверку на наличие изображения
Как добавить проверку на наличие изображения
Code:
<?
if (@fopen($obj['webcams'][$webcam_key]['CURRENTIMAGEURL'],'r'))
echo '<h4>Random webcam</h4>' . '<div><img width="200" src="' . $obj['webcams'][$webcam_key]['CURRENTIMAGEURL'] . '"/>' . '</div>' . '<p> </p>' . '<div>' . $obj['webcams'][$webcam_key][neighborhood] . '</div>';
?>
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Автор темы
- Не в сети
- Модератор
5 года 8 мес. назад #6
от Aleksej
Aleksej ответил в теме Extended weather informer. Wunderground.com
Attention, information is outdated. End of Service for the Weather Underground API: your subscriptions, and therefore access, will continue to work through 12/31/2018.
Free API Weather Underground перестал существовать, увы. Обратитесь к сервису WorldWeatherOnline, например, который все еще предоставляет trial сроком на два месяца (материалы блога Погода по ip и REST API Sypex Geo или Погода по ip. Умный информер ); а еще лучше - к OpenWeatherMap .
Free API Weather Underground перестал существовать, увы. Обратитесь к сервису WorldWeatherOnline, например, который все еще предоставляет trial сроком на два месяца (материалы блога Погода по ip и REST API Sypex Geo или Погода по ip. Умный информер ); а еще лучше - к OpenWeatherMap .
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.