본문으로 바로가기


/*=================================================================
공공 데이터 API에서 해당 날짜의 공휴일 조회 - 월 별로 해야 하네..-.-; START
https://www.data.go.kr/dataset/15012690/openapi.do

공휴일 정보 조회 명세 : http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo?solYear=2015&solMonth=05&ServiceKey=API키

=================================================================*/
$proxy_use = false;

 

for ($i = 1; $i <= 12; $i++) {

$mm = $i;
if(strlen($mm) == 1) $mm = "0".$i;

$url = "http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getHoliDeInfo?solYear=".$yy."&solMonth=".$mm."&ServiceKey=API키";

if ($proxy_use) {
$context = array(
'http' => array(
'proxy' => '프록시를 사용 할 경우 도메인 또는 IP : 포트',
'request_fulluri' => true,
),
);
$cxContext = stream_context_create($context);
$sFile = file_get_contents($url, False, $cxContext) or die('{"state":false, "case":"api error"}');
} else {
$sFile = file_get_contents($url) or die('{"state":false, "case":"api error"}');
}

$xml = simplexml_load_string($sFile . "");
// print_r($xml);
$obj = $xml->body[0]->items[0];//->item[0];

foreach ($obj->item as $item) {
//echo "휴일명 : ".$item->dateName;
//echo "날짜 : ".$item->locdate;
//배열에 해당 날짜가 없으면
$public_date = substr($item->locdate, 4, 2).substr($item->locdate, 6, 2);
array_push($holiday_arr, $public_date);
}

}

/*=================================================================
공공 데이터 API에서 해당 날짜의 공휴일 조회 END
=================================================================*/