WordPress获得新浪天气并创建博客侧栏天气。只要把下面的php代码放到侧边栏,其他地方都可以。
获取IP有两种方式。我把复杂的注释掉了。如果你想用复杂的,只需去掉注释,然后把简单的注释掉。
复制代码如下:
<?Php
//复杂到获取本地ip地址
/*if(getenv('http_client_IP')&&;strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown'){
$SA_IP=getenv('HTTP_CLIENT_IP');
}elseif(getenv('HTTP_X_FORWARDED_FOR')&;&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown'){
$SA_IP=getenv('HTTP_X_FORWARDED_FOR');
}elseif(getenv('REMOTE_ADDR')&;&strcasecmp(getenv('远程_ADDR'),'未知'){
$SA_IP=getenv('远程_ADDR');
}elseif(isset($_SERVER['REMOTE_ADDR'])&;&$_SERVER['远程_ADDR']&;&strcasecmp($_SERVER['远程_ADDR'],'未知'){
$SA_IP=$_SERVER['远程_ADDR'];
}*/
$SA_IP=$_SERVER['REMOTE_ADDR'];//直接获取本地ip地址
//定义一个函数根据ip获取城市名称,使用新浪的天气预报
函数getIPloc_Sina($queryIP){
$URL='http://int.dpool.Sina.com.cn/iplookup/iplookup.PHP?格式=json&ip='。$queryIP
$ch=curl_init($URL);
curl_setopt($ch,CURLOPT_ENCODING,'utf8');
curl_setopt($ch,CURLOPT_TIMEOUT,10);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$location=curl_exec($ch);
$location=JSON_decode($location);
curl_close($ch);
$loc="";
if($location===FALSE)
return"";
if(empty($location->;desc)){
$loc=$location->;城市;
$full_loc=$location->;省份。$location->;城市。$location->;区。$location->;isp
}else{
$loc=$location->;desc;
}
return$loc;
}
$city=getIPLoc_Sina("$SA_IP");</p>;
<;p>$citycode=MB_convert_encoding($city,"gb2312","utf-8");</p>;
<;p>$doc=newDOMdocument();
如果(<ahref="mailto:!@$doc->;load("http://PHP.weather.Sina.com.cn/XML.PHP?城市">;!@$doc->;load("http://PHP.weather.Sina.com.cn/XML.PHP?城市</a>;=".$citycode。”&password=DJOYnieT8234jlsK&day=0"){
echo"获取数据失败!!\n";
退货;
}<;/p>;
<;p>$city=$doc->;getElementsByTagName("city")->;第(0)项-->nodeValue
$STAT1=$doc->;getElementsByTagName("status1")->;第(0)项-->nodeValue
$chy_ShuoMing=$doc->;getElementsByTagName("chy_ShuoMing")->;第(0)项-->nodeValue
$tmp1=$doc->;getElementsByTagName("temperature1")->;第(0)项-->nodeValue
$tmp2=$doc->;getElementsByTagName("temperature2")->;第(0)项-->nodeValue
$date=$doc->;getElementsByTagName("保存日期天气")->;第(0)项-->nodeValue
$pollution_l=$doc->;getElementsByTagName("pollution_l")->;第(0)项-->nodeValue
$GM_s=$doc->;getElementsByTagName("GM_s")->;第(0)项-->nodeValue</p>;
<;p>回声'<旁白><div><“div>”。$城市。'/'.$date。</div>;<div><“span>;”。$tmp1。'~'.$tmp2。<sup>℃<;/sup>;</span>。<“span>;”。$stat1。</span>。
<;span><p>空气体质量:'。$POLLUTION_l.'
CSS样式
[代码]
。新浪-天气-内容{border:1pxsolid#d14836;字体大小:12px行高:14pxposition:relative}
。新浪-天气-城市{背景:#D14836颜色:#FFFFFF字体大小:14px字体粗细:600;左:-1px;填充:5px15px位置:绝对;top:5px;z指数:2;显示:inline}
。新浪-天气-正文{溢出:隐藏;padding:45px15px15px}
。新浪-天气-bodyp{margin-bottom:10px}
。新浪-天气-tem{color:#000000;字体大小:36px字体粗细:700;行高:36pxpadding-top:10px}
。新浪-天气-文字{color:#666666;显示:块;margin-top:10px}
。stat-w{color:#555555;字体系列:微软雅黑;字体大小:18px字体样式:斜体;字体粗细:600;行高:10px}
。entry-meta{position:相对;字体大小:12px字体大小:12pxmargin-top:-15px;填充:10px0;text-transform:大写}
。entry-metaa{color:#666}
[/code
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)