вот вся погода на 3 дня, подправить только свой sity id
$city_id=33815;
$data_file="
http://export.yandex.ru/weather-ng/fore ... xml?".rand(); // адрес xml файла
//$data_file="
http://export.yandex.ru/weather-ng/fore ... xml?".rand(); // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
$temp=$xml->fact->temperature;
// Если значение температуры положительно, для наглядности добавляем "+"
if ($temp>0) {$temp='+'.$temp;}
sg("Chisinau.Temp",$temp);
sg("Chisinau.Pressure",$xml->fact->pressure);
sg("Chisinau.Humidity",$xml->fact->humidity);
sg("Chisinau.Uptime",$xml->fact->uptime);
sg("Chisinau.weather",$xml->fact->weather_type);
sg("Chisinau.Image",$xml->fact->image);
sg("Chisinau.Image2",$xml->fact->image-v3);
$dir = $xml->fact->wind_direction;
switch ($dir){
case 's':
$dir="южный";
break;
case 'n':
$dir="северный";
break;
case 'w':
$dir="западный";
break;
case 'e':
$dir="восточный";
break;
case 'sw':
$dir="юго-западный";
break;
case 'se':
$dir="юго-восточный";
break;
case 'nw':
$dir="северо-западный";
break;
case 'ne':
$dir="северо-восточный";
break;
case 'calm':
$dir="штиль";
break;
}
sg("Chisinau.wind_direction",$dir);
sg("Chisinau.wind_speed",$xml->fact->wind_speed);
$dir = $xml->day[0]->moon_phase;
switch ($dir){
case '0':
$dir="Полнолуние";
break;
case '1':
$dir="Убывающая";
break;
case '2':
$dir="Убывающая";
break;
case '3':
$dir="Убывающая";
break;
case '4':
$dir="Убывающая";
break;
case '5':
$dir="Убывающая";
break;
case '6':
$dir="Убывающая";
break;
case '7':
$dir="Убывающая";
break;
case '8':
$dir="Новолуние";
break;
case '9':
$dir="Растущая";
break;
case '10':
$dir="Растущая";
break;
case '11':
$dir="Растущая";
break;
case '12':
$dir="Растущая";
break;
case '13':
$dir="Растущая";
break;
case '14':
$dir="Растущая";
break;
case '15':
$dir="Растущая";
break;
}
sg("Chisinau.moon_img",$dir);
//sg("Chisinau.SunRise",$xml->day[0]->sunrise);// сегодня восход солнца
//sg("Chisinau.SunSet",$xml->day[0]->sunset);// сегодня заход солнца
//sg("Chisinau.moonrise",$xml->day[0]->moonrise);// сегодня восход луны
//sg("Chisinau.moonset",$xml->day[0]->moonset);// сегодня заход луны
//sg("Chisinau.moon_phase",$xml->day[0]->moon_phase);// фаза луны
//$DayStart = explode(":",gg("Chisinau.SunRise"));
//$DayEnd = explode(":",gg("Chisinau.SunSet"));
//$transit = explode(":",gg("Chisinau.transit"));
//$civil_twilight_begin = explode(":",gg("Chisinau.civil_twilight_begin"));
//$h_start = (int)$DayStart[0];
//$m_start = (int)$DayStart[1];
//$h_end = (int)$DayEnd[0];
//$m_end = (int)$DayEnd[1];
//$dh = $h_end - $h_start;
//$dm = $m_end - $m_start;
//if ($dm<0){
//$dh=$dh-1;
//$dm=$dm+60;
//}
//sg("Chisinau.LongTag","$dh:$dm");
$status="";
$status.="Сейчас на улице ".gg("Chisinau.Type")."";
// ветер
$WindSpeed=(float)gg("Chisinau.WindSpeed");
if ($WindSpeed<1) {
$status.='ветра нет.';
} elseif ($WindSpeed<3) {
$status.='ветер слабый, ';
} elseif ($WindSpeed<8) {
$status.='ветер умеренный, ';
} elseif ($WindSpeed<13) {
$status.='ветер сильный, ';
} elseif ($WindSpeed<20) {
$status.='ветер очень сильный, ';
} elseif ($WindSpeed<28) {
$status.='ветер штормовой, ';
}
else {
$status.='ветер очень очень сильный, УРАГАН, ';
}
$status.= $dir . ',';
$status.='температура '.getGlobal('Chisinau.Temp')."°C,";
$tm=(float)getGlobal('Chisinau.Temp');
if ($tm<-40) {
$status.=' Сибирь морозов не боится!';
} elseif ($tm<-20) {
$status.=' очень холодно, оденьтесь теплее.';
} elseif ($tm<-10) {
$status.=' холодновато.';
} elseif ($tm<-3) {
$status.=' не особо холодно.';
} elseif ($tm<3) {
$status.=' значит возможно гололёд.';
} elseif ($tm<10) {
$status.=' тепловато.';
} elseif ($tm<25) {
$status.=' очень тепло.';
} elseif ($tm<45) {
$status.=' жарко.';
}
$status.=' Восход солнца в '.getGlobal('Chisinau.SunRise').',';
$status.=' закат в '.getGlobal('Chisinau.SunSet').',';
$status.=' долгота дня '.getGlobal('Chisinau.LongTag').'.';
sg('Chisinau.WeatherDnes',$status);
$w3days="Сегодня днём ожидается температура не выше ";
$temp=$xml->day[0]->day_part[1]->temperature_to;
if ($temp>0) {$temp='+'.$temp;}
$w3days.=$temp;
$w3days.="°С, ";
$w3days.=$xml->day[0]->day_part[1]->weather_type;
$w3days.=", давление ";
$w3days.=$xml->fact->pressure;
$w3days.="мм.рт.ст, влажность ";
$w3days.=$xml->fact->humidity;
$w3days.="%, ветер ";
$dir = $xml->fact->wind_direction;
switch ($dir){
case 's':
$dir="южный";
break;
case 'n':
$dir="северный";
break;
case 'w':
$dir="западный";
break;
case 'e':
$dir="восточный";
break;
case 'sw':
$dir="юго-западный";
break;
case 'se':
$dir="юго-восточный";
break;
case 'nw':
$dir="северо-западный";
break;
case 'ne':
$dir="северо-восточный";
break;
case 'calm':
$dir="штиль";
break;
}
$w3days.=$dir;
$w3days.=" - ";
$w3days.=$xml->fact->wind_speed;
$w3days.="м/c, а ночью будет ";
$temp=$xml->day[0]->day_part[3]->temperature_from;
if ($temp>0) {$temp='+'.$temp;}
$w3days.=$temp;
$w3days.="°С. ";
$w3days.='<br>';
$w3days.="Завтра днём будет ";
$w3days.=$xml->day[1]->day_part[1]->weather_type;
$w3days.=", воздух прогреется до ";
$temp=$xml->day[1]->day_part[1]->temperature_to;
if ($temp>0) {$temp='+'.$temp;}
$w3days.=$temp;
$w3days.="°С, ";
$w3days.="а ночью температура опустится до ";
$temp=$xml->day[1]->day_part[3]->temperature_from;
if ($temp>0) {$temp='+'.$temp;}
$w3days.=$temp;
$w3days.="°С. ";
$w3days.='<br>';
$w3days.="Послезавтра прогреется днём до ";
$temp=$xml->day[2]->day_part[1]->temperature_to;
if ($temp>0) {$temp='+'.$temp;}
$w3days.=$temp;
$w3days.="°С, ";
$w3days.="на небе будет ";
$w3days.=$xml->day[2]->day_part[1]->weather_type;
$w3days.=", а к вечеру температура упадет до ";
$temp=$xml->day[2]->day_part[3]->temperature_from;
if ($temp>0) {$temp='+'.$temp;}
$w3days.=$temp;
$w3days.="°С. ";
sg("Chisinau.Weather3days",$w3days);
$sun_info = date_sun_info(time(), 46.984, 28.8358);
foreach ($sun_info as $key => $val) {
if ($key == 'sunrise') {
$sunrise = $val;
//echo 'Восход: '.date("H:i:s", $sunrise).'<br>';
setGlobal('Chisinau.SunRise',date("H:i:s", $sunrise));
}
if ($key == 'sunset') {
$sunset = $val;
$day_length = $sunset - $sunrise;
echo 'Заход: '.date("H:i", $sunset).'<br>';
echo 'Долгота дня: '.gmdate("H:i", $day_length).'<br>';
setGlobal('Chisinau.SunSet',date("H:i:s", $sunset));
setGlobal('Chisinau.LongTag',gmdate("H:i:s", $day_length));
}
if ($key == 'transit') {
$transit = $val;
echo 'В зените: '.date("H:i:s", $transit).'<br>';
setGlobal('Chisinau.Transit',date("H:i:s", $transit));
}
if ($key == 'civil_twilight_begin') {
$civil_twilight_begin = $val;
echo 'Начало утренних сумерек: '.date("H:i:s", $civil_twilight_begin).'<br>';
setGlobal('Chisinau.civil_begin',date("H:i:s", $civil_twilight_begin));
}
if ($key == 'civil_twilight_end') {
$civil_twilight_end = $val;
echo 'Конец вечерних сумерек: '.date("H:i:s", $civil_twilight_end).'<br>';
setGlobal('Chisinau.civil_end',date("H:i:s", $civil_twilight_end));
$noy_length = $civil_twilight_end - $civil_twilight_begin;
setGlobal('Chisinau.nayt',gmdate("H:i:s", $noy_length));
echo 'Долгота ночи: '.gmdate("H:i", $noy_length).'<br>';
}
}