PHP天气API接口.docx
- 文档编号:6265143
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:19
- 大小:20.89KB
PHP天气API接口.docx
《PHP天气API接口.docx》由会员分享,可在线阅读,更多相关《PHP天气API接口.docx(19页珍藏版)》请在冰豆网上搜索。
PHP天气API接口
PHP天气API接口
中国天气网的API还每次还要先去判断ID,再获取天气信息,觉得有点麻烦,所以自己做了一个PHP一部搞定的。
还有一个农历API。
php
header('Access-Control-Allow-Origin:
*');
header("Content-Type:
text/javascript;charset=utf-8");
/**
*获取用户真实IP
*/
functiongetIP()
{
static$realip;
if(isset($_SERVER)){
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip=$_SERVER["HTTP_X_FORWARDED_FOR"];
}elseif(isset($_SERVER["HTTP_CLIENT_IP"])){
$realip=$_SERVER["HTTP_CLIENT_IP"];
}else{
$realip=$_SERVER["REMOTE_ADDR"];
}
}else{
if(getenv("HTTP_X_FORWARDED_FOR")){
$realip=getenv("HTTP_X_FORWARDED_FOR");
}elseif(getenv("HTTP_CLIENT_IP")){
$realip=getenv("HTTP_CLIENT_IP");
}else{
$realip=getenv("REMOTE_ADDR");
}
}
return$realip;
}
/**
*获取IP地理位置
*淘宝IP接口
*@Return:
array
*/
functiongetCity($ip)
{
$url="
$ip=file_get_contents($url));
if((string)$ip->code=='1'){
returnfalse;
}
$data=$ip->data->city;
return$data;
}
functiongetWeather($cityId)
{
$url="
$weather=file_get_contents($url));
return$weather;
}
function$web){
$arr=array();
foreach($webas$k=>$w){
if(is_object($w))$arr[$k]=$w);//判断类型是不是object
else$arr[$k]=$w;
}
return$arr;
}
$city=getCity(getIP());
$city=str_split($city,strlen($city)-3);
$city=$city[0];
$cityUrl="
$web=file_get_contents($cityUrl));
$arr=$web);
$weatherInfo=getWeather($arr[$city]);
echo('weather(');
echo($weatherInfo));
echo(")");
?
>
城市源码
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml">
varweatherInfo;
varlunar;
vardate=newDate();
varg={"晴":
"00px","多云":
"0-40px","暴雪":
"0-480px","大雪-暴雪":
"0-480px","暴雨":
"0-360px","大雨-暴雨":
"0-360px","暴雨-大暴雨":
"0-360px","大暴雨-特大暴雨":
"0-360px","大暴雪":
"0-480px","飑":
"0-880px","大雪":
"0-440px","中雪-大雪":
"0-440px","大雨":
"0-320px","中雨-大雨":
"0-320px","浮层":
"0-920px","雷阵雨":
"0-160px","雷阵雨并伴有冰雹":
"0-200px","霾":
"0-920px","轻雾":
"0-840px","雾":
"0-840px","冰雹":
"0-680px","沙尘暴":
"0-760px","强沙尘暴":
"0-760px","特大暴雪":
"0-520px","小雪":
"0-600px","小雨":
"0-240px","扬沙":
"0-720px","浮尘":
"0-920px","龙卷风":
"0-800px","弱高吹雪":
"0-600px","阴":
"0-80px","雨夹雪":
"0-400px","冻雨":
"0-960px","阵雪":
"0-560px","阵雨":
"0-120px","中雪":
"0-640px","小雪-中雪":
"0-640px","小雨-中雨":
"0-280px","中雨":
"0-280px"};
$(document).ready(function(){
$("#weekday").html(date.getDate());
$.getScript("getWeather.php");
$.getScript("lunar.php");
});
varweather=function(data){
weatherInfo=data;
$(".cityWrap.name").html(data.weatherinfo.city);
$(".cityInfo.name").html(data.weatherinfo.weather1);
$(".cityWrap.info").html(data.weatherinfo.city_en);
$(".cityInfo.info").html(data.weatherinfo.st1+"℃");
$(".weapic").css("background-position",g[data.weatherinfo.weather1]).show();
}
varlunar=function(data){
lunar=data;
varmonth=data.month;
varday=data.day;
$("#lunarday").html("农历"+month+day);
$("#dateday").html(date.getFullYear()+"."+(date.getMonth()+1)+"."+date.getDate()+" "+getWeek(date.getDay()));
}
vargetWeek=function(day){
switch(day){
case0:
return"周一";
case1:
return"周二";
case2:
return"周三";
case3:
return"周四";
case4:
return"周五";
case5:
return"周六";
case6:
return"周日";
}
}