Home  >  Article  >  Backend Development  >  PHP Weather API Interface_PHP Tutorial

PHP Weather API Interface_PHP Tutorial

WBOY
WBOYOriginal
2016-07-20 11:12:291155browse

The API of China Weather Network also has to determine the ID first and then obtain the weather information every time, which is a bit troublesome, so I made a PHP one to handle it. There is also a lunar calendar API.

<?php
header(&#39;Access-Control-Allow-Origin: *&#39;);
header("Content-Type:text/javascript;charset=utf-8");
/**
 * 获取用户真实 IP
 */
function getIP()
{
    static $realip;
    if (isset($_SERVER)){
        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
            $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        } else if (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");
        } else if (getenv("HTTP_CLIENT_IP")) {
            $realip = getenv("HTTP_CLIENT_IP");
        } else {
            $realip = getenv("REMOTE_ADDR");
        }
    }


    return $realip;
}


/**
 * 获取 IP  地理位置
 * 淘宝IP接口
 * @Return: array
 */
function getCity($ip)
{
	$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
	$ip=json_decode(file_get_contents($url));	
	if((string)$ip->code==&#39;1&#39;){
	   return false;
 	}
 	$data = $ip->data->city;
	return $data;	
}

function getWeather($cityId)
{
	$url="http://m.weather.com.cn/data/".$cityId.".html";
	$weather=json_decode(file_get_contents($url));
	return $weather;	
}
function json_to_array($web){
	$arr=array();
	foreach($web as $k=>$w){
		if(is_object($w)) $arr[$k]=json_to_array($w); //判断类型是不是object
		else $arr[$k]=$w;
	}
	return $arr;
}
$city = getCity(getIP());
$city = str_split($city,strlen($city)-3);
$city =$city[0];
$cityUrl = "http://evenle.com/wei/20130921/city.php";
$web=json_decode(file_get_contents($cityUrl));
$arr=json_to_array($web);
$weatherInfo = getWeather($arr[$city]);
echo(&#39;weather(&#39;);
echo(json_encode($weatherInfo));
echo(")");

?>

City source code http://www.bkjia.com/uploadfile/2013/0923/20130923081358704.rar
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link rel="stylesheet" href="main.css" type="text/css" />
</head>

<body>
<div class="top">
  <div class="top_content">
    <div id="calendarArea"> <span class="datepic"> <font id="weekday"></font> </span>
      <ul>
        <li> <span id="lunarday"></span> </li>
        <li> <span id="dateday"></span> </li>
      </ul>
    </div>
    <div id="topWeatherArea">
		<ul class="cityWrap">
			<li class="name">
				<span class="name"></span>
			</li>
			<li>
				<span class="info"></span>
			</li>
		</ul>
		<span class="weapic"></span>
		<ul class="cityInfo">
			<li class="name">
				<span class="name"></span>
			</li>
			<li>
				<span class="info"></span>
			</li>
		</ul>
	</div>
  </div>
</div>
<script type="text/javascript" src="../../js/jquery.js"></script> 
<script type="text/javascript" src="../../js/loadjs.js"></script> 
<script type="text/javascript">
var weatherInfo;
var lunar;
var date = new Date();
var g={"晴":"0 0px","多云":"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");
});
var weather = 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();
}
var lunar = function(data){
	lunar = data;
	var month = data.month;
	var day = data.day;
	$("#lunarday").html("农历"+month+day);
	$("#dateday").html(date.getFullYear()+"."+(date.getMonth()+1)+"."+date.getDate()+" "+getWeek(date.getDay()));
}
var getWeek = function(day){
	switch(day){
		case 0:
		return "周一";
		case 1:
		return "周二";
		case 2:
		return "周三";
		case 3:
		return "周四";
		case 4:
		return "周五";
		case 5:
		return "周六";
		case 6:
		return "周日";	
	}
}
</script>
</body>
</html>

@charset "utf-8";
* {
	padding: 0;
	margin: 0;
	border: none;
	text-decoration: none;
	list-style: none;
	overflow: hidden;
}
input, button, select, textarea {
	outline: none;
}
textarea {
	font-size: 13px;
	resize: none;
}
body {
	background: #F2F2F2 url(http://imghao.qq.com/haoqq/v101/v1img/xs-bg.png) top center no-repeat;
}
.top {
	width: 100%;
	height: 65px;
}
.top_content {
	width: 960px;
	height: 65px;
	margin: 0 auto;
}
#calendarArea {
	width: 155px;
	height: 65px;
	float: left;
	cursor: pointer;
	padding-left: 15px;
}
#calendarArea:hover, #topWeatherArea:hover {
	background: url(http://imghao.qq.com/haoqq/v101/v1img/top-hover.png) top right;
}
.datepic {
	background-image: url(http://imghao.qq.com/haoqq/v101/v1img/pur-sprite.png);
	background-repeat: no-repeat;
	width: 31px;
	height: 32px;
	float: left;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	line-height: 32px;
	display: block;
	margin: 15px 10px 0 0;
	float: left;
}
#weekday {
	position: relative;
	top: 4px;
	color: #fff;
}
#calendarArea ul {
	float: left;
	color: #fff;
	height: 40px;
	padding-top: 13px;
	padding-left: 3px;
}
#calendarArea #lunarday {
	font-size: 16px;
	font-weight: bold;
}
#calendarArea #dateday {
	font-size: 14px;
}
#topWeatherArea {
	width: 165px;
	height: 65px;
	float: left;
	cursor: pointer;
	color: #fff;
	padding-left:10px;
}
.cityWrap {
	float: left;
	margin-top: 15px;
	padding-left:5px;
}
.weapic {
	width: 40px;
	height: 40px;
	background-image: url(http://imghao.qq.com/haoqq/v101/v1img/pur-sprite-wea.png);
	float: left;
	display: block;
	margin: 15px 5px 0 5px;
	background-repeat: no-repeat;
	display:none;
}
.cityInfo {
	float: left;
	margin-top: 15px;
}
.name{
	font-weight: bold;
	font-size:17px;
}
.info{
	font-size:14px;
}


<?php
class Lunar {
        public $MIN_YEAR = 1891;
        public $MAX_YEAR = 2100;
        public $lunarInfo = array(array(0,2,9,21936),array(6,1,30,9656),array(0,2,17,9584),array(0,2,6,21168),array(5,1,26,43344),array(0,2,13,59728),array(0,2,2,27296),array(3,1,22,44368),array(0,2,10,43856),array(8,1,30,19304),array(0,2,19,19168),array(0,2,8,42352),array(5,1,29,21096),array(0,2,16,53856),array(0,2,4,55632),array(4,1,25,27304),array(0,2,13,22176),array(0,2,2,39632),array(2,1,22,19176),array(0,2,10,19168),array(6,1,30,42200),array(0,2,18,42192),array(0,2,6,53840),array(5,1,26,54568),array(0,2,14,46400),array(0,2,3,54944),array(2,1,23,38608),array(0,2,11,38320),array(7,2,1,18872),array(0,2,20,18800),array(0,2,8,42160),array(5,1,28,45656),array(0,2,16,27216),array(0,2,5,27968),array(4,1,24,44456),array(0,2,13,11104),array(0,2,2,38256),array(2,1,23,18808),array(0,2,10,18800),array(6,1,30,25776),array(0,2,17,54432),array(0,2,6,59984),array(5,1,26,27976),array(0,2,14,23248),array(0,2,4,11104),array(3,1,24,37744),array(0,2,11,37600),array(7,1,31,51560),array(0,2,19,51536),array(0,2,8,54432),array(6,1,27,55888),array(0,2,15,46416),array(0,2,5,22176),array(4,1,25,43736),array(0,2,13,9680),array(0,2,2,37584),array(2,1,22,51544),array(0,2,10,43344),array(7,1,29,46248),array(0,2,17,27808),array(0,2,6,46416),array(5,1,27,21928),array(0,2,14,19872),array(0,2,3,42416),array(3,1,24,21176),array(0,2,12,21168),array(8,1,31,43344),array(0,2,18,59728),array(0,2,8,27296),array(6,1,28,44368),array(0,2,15,43856),array(0,2,5,19296),array(4,1,25,42352),array(0,2,13,42352),array(0,2,2,21088),array(3,1,21,59696),array(0,2,9,55632),array(7,1,30,23208),array(0,2,17,22176),array(0,2,6,38608),array(5,1,27,19176),array(0,2,15,19152),array(0,2,3,42192),array(4,1,23,53864),array(0,2,11,53840),array(8,1,31,54568),array(0,2,18,46400),array(0,2,7,46752),array(6,1,28,38608),array(0,2,16,38320),array(0,2,5,18864),array(4,1,25,42168),array(0,2,13,42160),array(10,2,2,45656),array(0,2,20,27216),array(0,2,9,27968),array(6,1,29,44448),array(0,2,17,43872),array(0,2,6,38256),array(5,1,27,18808),array(0,2,15,18800),array(0,2,4,25776),array(3,1,23,27216),array(0,2,10,59984),array(8,1,31,27432),array(0,2,19,23232),array(0,2,7,43872),array(5,1,28,37736),array(0,2,16,37600),array(0,2,5,51552),array(4,1,24,54440),array(0,2,12,54432),array(0,2,1,55888),array(2,1,22,23208),array(0,2,9,22176),array(7,1,29,43736),array(0,2,18,9680),array(0,2,7,37584),array(5,1,26,51544),array(0,2,14,43344),array(0,2,3,46240),array(4,1,23,46416),array(0,2,10,44368),array(9,1,31,21928),array(0,2,19,19360),array(0,2,8,42416),array(6,1,28,21176),array(0,2,16,21168),array(0,2,5,43312),array(4,1,25,29864),array(0,2,12,27296),array(0,2,1,44368),array(2,1,22,19880),array(0,2,10,19296),array(6,1,29,42352),array(0,2,17,42208),array(0,2,6,53856),array(5,1,26,59696),array(0,2,13,54576),array(0,2,3,23200),array(3,1,23,27472),array(0,2,11,38608),array(11,1,31,19176),array(0,2,19,19152),array(0,2,8,42192),array(6,1,28,53848),array(0,2,15,53840),array(0,2,4,54560),array(5,1,24,55968),array(0,2,12,46496),array(0,2,1,22224),array(2,1,22,19160),array(0,2,10,18864),array(7,1,30,42168),array(0,2,17,42160),array(0,2,6,43600),array(5,1,26,46376),array(0,2,14,27936),array(0,2,2,44448),array(3,1,23,21936),array(0,2,11,37744),array(8,2,1,18808),array(0,2,19,18800),array(0,2,8,25776),array(6,1,28,27216),array(0,2,15,59984),array(0,2,4,27424),array(4,1,24,43872),array(0,2,12,43744),array(0,2,2,37600),array(3,1,21,51568),array(0,2,9,51552),array(7,1,29,54440),array(0,2,17,54432),array(0,2,5,55888),array(5,1,26,23208),array(0,2,14,22176),array(0,2,3,42704),array(4,1,23,21224),array(0,2,11,21200),array(8,1,31,43352),array(0,2,19,43344),array(0,2,7,46240),array(6,1,27,46416),array(0,2,15,44368),array(0,2,5,21920),array(4,1,24,42448),array(0,2,12,42416),array(0,2,2,21168),array(3,1,22,43320),array(0,2,9,26928),array(7,1,29,29336),array(0,2,17,27296),array(0,2,6,44368),array(5,1,26,19880),array(0,2,14,19296),array(0,2,3,42352),array(4,1,24,21104),array(0,2,10,53856),array(8,1,30,59696),array(0,2,18,54560),array(0,2,7,55968),array(6,1,27,27472),array(0,2,15,22224),array(0,2,5,19168),array(4,1,25,42216),array(0,2,12,42192),array(0,2,1,53584),array(2,1,21,55592),array(0,2,9,54560));

        /**
         * 将阳历转换为阴历
         * @param year 公历-年
         * @param month 公历-月
         * @param date 公历-日
         */
        function convertSolarToLunar($year,$month,$date){
                //debugger;
                $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];
                if($year==$this->MIN_YEAR&&$month<=2&&$date<=9){
                        return array(1891,&#39;正月&#39;,&#39;初一&#39;,&#39;辛卯&#39;,1,1,&#39;兔&#39;);
                }
                return $this->getLunarByBetween($year,$this->getDaysBetweenSolar($year,$month,$date,$yearData[1],$yearData[2]));
        }

        /**
        * 将阴历转换为阳历
        * @param year 阴历-年
        * @param month 阴历-月,闰月处理:例如如果当年闰五月,那么第二个五月就传六月,相当于阴历有13个月,只是有的时候第13个月的天数为0
        * @param date 阴历-日
        */
        function convertLunarToSolar($year,$month,$date){
                $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];
                $between = $this->getDaysBetweenLunar($year,$month,$date);
                $res = mktime(0,0,0,$yearData[1],$yearData[2],$year);

                $res = date(&#39;Y-m-d&#39;,$res+$between*24*60*60);

                $day        = split_date($res);
                $year        = $day[0];
                $month= $day[1];
                $day        = $day[2];

                return array($year, $month, $day);
        }

        /**
         * 判断是否是闰年
         * @param year
         */
        function isLeapYear($year){
                return (($year%4==0 && $year%100 !=0) || ($year%400==0));
        }

        /**
         * 获取干支纪年
         * @param year
         */
        function getLunarYearName($year){
                 $sky = array(&#39;庚&#39;,&#39;辛&#39;,&#39;壬&#39;,&#39;癸&#39;,&#39;甲&#39;,&#39;乙&#39;,&#39;丙&#39;,&#39;丁&#39;,&#39;戊&#39;,&#39;己&#39;);
                 $earth = array(&#39;申&#39;,&#39;酉&#39;,&#39;戌&#39;,&#39;亥&#39;,&#39;子&#39;,&#39;丑&#39;,&#39;寅&#39;,&#39;卯&#39;,&#39;辰&#39;,&#39;巳&#39;,&#39;午&#39;,&#39;未&#39;);

                 $year = $year.&#39;&#39;;
                 return $sky[$year{3}].$earth[$year%12];
        }

        /**
         * 根据阴历年获取生肖
         * @param year 阴历年
         */
        function getYearZodiac($year){
                 $zodiac = array(&#39;猴&#39;,&#39;鸡&#39;,&#39;狗&#39;,&#39;猪&#39;,&#39;鼠&#39;,&#39;牛&#39;,&#39;虎&#39;,&#39;兔&#39;,&#39;龙&#39;,&#39;蛇&#39;,&#39;马&#39;,&#39;羊&#39;);
                 return $zodiac[$year%12];
        }

        /**
         * 获取阳历月份的天数
         * @param year 阳历-年
         * @param month 阳历-月
         */
        function getSolarMonthDays($year,$month){
                 $monthHash = array(&#39;1&#39;=>31,&#39;2&#39;=>$this->isLeapYear($year)?29:28,&#39;3&#39;=>31,&#39;4&#39;=>30,&#39;5&#39;=>31,&#39;6&#39;=>30,&#39;7&#39;=>31,&#39;8&#39;=>31,&#39;9&#39;=>30,&#39;10&#39;=>31,&#39;11&#39;=>30,&#39;12&#39;=>31);
                 return $monthHash["$month"];
        }


        /**
         * 获取阴历月份的天数
         * @param year 阴历-年
         * @param month 阴历-月,从一月开始
         */
        function getLunarMonthDays($year,$month){
                 $monthData = $this->getLunarMonths($year);
                 return $monthData[$month-1];
        }

        /**
         * 获取阴历每月的天数的数组
         * @param year
         */
        function getLunarMonths($year){

                $yearData = $this->lunarInfo[$year - $this->MIN_YEAR];
                $leapMonth = $yearData[0];

                $bit = decbin($yearData[3]);
                for ($i = 0; $i < strlen($bit);$i ++) {
                        $bitArray[$i] = substr($bit, $i, 1);
                }

                for($k=0,$klen=16-count($bitArray);$k<$klen;$k++){
                        array_unshift($bitArray, &#39;0&#39;);
                }

                $bitArray = array_slice($bitArray,0,($leapMonth==0?12:13));
                for($i=0; $i<count($bitArray); $i++){
                        $bitArray[$i] = $bitArray[$i] + 29;
                }

                return $bitArray;
        }

        /**
         * 获取农历每年的天数
         * @param year 农历年份
         */
        function getLunarYearDays($year){
                $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];
                $monthArray = $this->getLunarYearMonths($year);
                $len = count($monthArray);
                return ($monthArray[$len-1]==0?$monthArray[$len-2]:$monthArray[$len-1]);
        }

        function getLunarYearMonths($year){
                 //debugger;
                $monthData = $this->getLunarMonths($year);
                $res=array();
                $temp=0;
                $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];
                $len = ($yearData[0]==0?12:13);
                for($i=0;$i<$len;$i++){
                        $temp=0;
                        for($j=0;$j<=$i;$j++){
                                $temp+=$monthData[$j];
                        }
                        array_push($res, $temp);
                }
                 return $res;
        }

        /**
         * 获取闰月
         * @param year 阴历年份
         */
        function getLeapMonth($year){
                $yearData = $this->lunarInfo[$year-$this->MIN_YEAR];
                return $yearData[0];
        }

        /**
         * 计算阴历日期与正月初一相隔的天数
         * @param year
         * @param month
         * @param date
         */
        function getDaysBetweenLunar($year,$month,$date){
                $yearMonth = $this->getLunarMonths($year);

                $res=0;
                for($i=1;$i<$month;$i++){
                        $res +=$yearMonth[$i-1];
                }
                $res+=$date-1;

                return $res;
        }

        /**
         * 计算2个阳历日期之间的天数
         * @param year 阳历年
         * @param cmonth
         * @param cdate
         * @param dmonth 阴历正月对应的阳历月份
         * @param ddate 阴历初一对应的阳历天数
         */
        function getDaysBetweenSolar($year,$cmonth,$cdate,$dmonth,$ddate){

                $a = mktime(0,0,0,$cmonth,$cdate,$year);
                $b = mktime(0,0,0,$dmonth,$ddate,$year);

                return ceil(($a-$b)/24/3600);
        }

        /**
         * 根据距离正月初一的天数计算阴历日期
         * @param year 阳历年
         * @param between 天数
         */
        function getLunarByBetween($year,$between){
                //debugger;
                $lunarArray = array();
                $yearMonth=array();
                $t=0;
                $e=0;
                $leapMonth=0;
                $m=&#39;&#39;;

                if($between==0){
                        array_push($lunarArray, $year,&#39;正月&#39;,&#39;初一&#39;);
                        $t = 1;
                        $e = 1;
                }else{
                        $year = $between>0? $year : ($year-1);
                        $yearMonth = $this->getLunarYearMonths($year);
                        $leapMonth = $this->getLeapMonth($year);
                        $between = $between>0?$between : ($this->getLunarYearDays($year)+$between);

                        for($i=0;$i<13;$i++){
                                if($between==$yearMonth[$i]){
                                        $t=$i+2;
                                        $e=1;
                                        break;
                                }else if($between<$yearMonth[$i]){
                                        $t=$i+1;
                                        $e=$between-(empty($yearMonth[$i-1])?0:$yearMonth[$i-1])+1;
                                        break;
                                }
                        }
                        $m = ($leapMonth!=0&&$t==$leapMonth+1)?(&#39;闰&#39;.$this->getCapitalNum($t- 1,true)):$this->getCapitalNum(($leapMonth!=0&&$leapMonth+1<$t?($t-1):$t),true);

                        array_push($lunarArray,$year,$m,$this->getCapitalNum($e,false));
                }
                array_push($lunarArray,$this->getLunarYearName($year));//天干地支
                array_push($lunarArray,$t,$e);
                array_push($lunarArray,$this->getYearZodiac($year));//12生肖
                array_push($lunarArray,$leapMonth);//闰几月
                return $lunarArray;
        }

        /**
         * 获取数字的阴历叫法
         * @param num 数字
         * @param isMonth 是否是月份的数字
         */
        function getCapitalNum($num,$isMonth){
                $isMonth = $isMonth || false;
                $dateHash=array(&#39;0&#39;=>&#39;&#39;,&#39;1&#39;=>&#39;一&#39;,&#39;2&#39;=>&#39;二&#39;,&#39;3&#39;=>&#39;三&#39;,&#39;4&#39;=>&#39;四&#39;,&#39;5&#39;=>&#39;五&#39;,&#39;6&#39;=>&#39;六&#39;,&#39;7&#39;=>&#39;七&#39;,&#39;8&#39;=>&#39;八&#39;,&#39;9&#39;=>&#39;九&#39;,&#39;10&#39;=>&#39;十 &#39;);
                $monthHash=array(&#39;0&#39;=>&#39;&#39;,&#39;1&#39;=>&#39;正月&#39;,&#39;2&#39;=>&#39;二月&#39;,&#39;3&#39;=>&#39;三月&#39;,&#39;4&#39;=>&#39;四月&#39;,&#39;5&#39;=>&#39;五月&#39;,&#39;6&#39;=>&#39;六月&#39;,&#39;7&#39;=>&#39;七月&#39;,&#39;8&#39;=>&#39;八月&#39;,&#39;9&#39;=>&#39;九月&#39;,&#39;10&#39;=>&#39;十月&#39;,&#39;11&#39;=>&#39;冬月&#39;,&#39;12&#39;=>&#39;腊月&#39;);
                $res=&#39;&#39;;

                if($isMonth){
                        $res = $monthHash[$num];
                }else{
                        if($num<=10){
                                $res = &#39;初&#39;.$dateHash[$num];
                        }else if($num>10&&$num<20){
                                $res = &#39;十&#39;.$dateHash[$num-10];
                        }else if($num==20){
                                $res = "二十";
                        }else if($num>20&&$num<30){
                                $res = "廿".$dateHash[$num-20];
                        }else if($num==30){
                                $res = "三十";
                        }
                }
                return $res;
        }

}
?>
<?php
header(&#39;Access-Control-Allow-Origin: *&#39;);
header("Content-Type:text/javascript;charset=utf-8");
$lunar = new Lunar();
$year = date("Y");
$month = date("n");
$day = date("j");
$ldate=$lunar->convertSolarToLunar($year, $month, $day);
echo(&#39;lunar({"year":"&#39;.$ldate[0].&#39;","month":"&#39;.$ldate[1].&#39;","day":"&#39;.$ldate[2].&#39;","zodiac":"&#39;.$ldate[6].&#39;","sign":"&#39;.$ldate[3].&#39;"})&#39;);
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/444551.htmlTechArticleThe API of China Weather Network also has to determine the ID first and then obtain weather information every time, which I find a bit troublesome. So I made a PHP one to get it done. There is also a lunar calendar API. ?phpheader(Ac...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn