Как создать и настроить свой веб-сервер на VDS (05 сен 2024)

Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?

Extended weather informer. Wunderground.com

Больше
8 года 10 мес. назад #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'] . '&deg;C' . " </font>"; $html .= "<font color='blue'>" . $arr['low']['celsius'] . '&deg;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'] . '&deg;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>

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Dev banner 2
Больше
8 года 5 мес. назад #2 от boris_term
boris_term ответил в теме Extended weather informer. Wunderground.com
Wunderground не работает чето нифига сегодня... это только у меня так?

Бреем, стрижем. Недорого берем.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 5 мес. назад #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!


А я смогу! - А поглядим! - А я упрямый!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 5 дн. назад - 7 года 9 мес. назад #4 от Aleksej
Aleksej ответил в теме Extended weather informer. Wunderground.com

serge пишет: не, не думаю. Уже чинят.



Снова проблемы, сервис работает, но не получается получить картинку с веб-камеры (см. демо в блоге). Причем если через проксю, европейскую или американскую, то вроде пашет, а напрямую нет:

Code:
<Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> <RequestId>*****************</RequestId> <HostId> ******************************* </HostId> </Error>
Последнее редактирование: 7 года 9 мес. назад пользователем p.rishard.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
7 года 9 мес. назад #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>'; ?>

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
5 года 9 мес. назад #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 .

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум