sudo apt install php-curlcURL은 설치를 해야 사용할 수 있습니다.
만약 설치되지 않았다면 Call to undefined function curl_init() 에러가 나게 됩니다.
// 리소스 초기화
$ch = curl_init();
// 사이트 주소
$url = "https://www.light-coding.com"
// 옵션값 설정
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 데이터 요청
$return = curl_exec($ch);
echo $return;
// 리소스 해제
curl_close($ch);curl_setopt 를 사용하여 옵션을 설정합니다.($return, true);json_decode($return, true); : json 반환값을 PHP 에서 읽을 수 있게 변환할 수 있습니다.curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'User-Agent: Mozilla/5.0',
'Referer: https://www.light-coding.com/'
));HTTP 요청을 보냈을 때 헤더 정보를 포함시켜 전송할 수 있습니다.
<!-- 공휴일 정보 -->
<?php
$ch = curl_init();
$url = 'http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getRestDeInfo'; /*URL*/
$queryParams = '?' . urlencode('ServiceKey') . '보안키입력'; /*Service Key*/
$queryParams .= '&' . urlencode('solYear') . '=' . urlencode(date('Y', time())); /**/
$queryParams .= '&' . urlencode('solMonth') . '=' . urlencode(date('m', time())); /**/
curl_setopt($ch, CURLOPT_URL, $url . $queryParams);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$response = simplexml_load_string(curl_exec($ch))->body->items;
curl_close($ch);
$dayOff = 0;
foreach ($response->item as $countDate) {
if ($countDate->locdate[0] == date('Ymd', time())) {
// echo "쉬는날" . "<br>";
$dayOff = 1;
} else {
// echo "쉬지 않는 날" . "<br>";
}
};
날씨정보를 변환할 수 있는 방법입니다.
/* curl 값 가져오기 */
$reqParam = json_decode(file_get_contents('php://input'), true);
/* 테스트 */
//echo "<pre>";
//print_r($reqParam);
//echo "</pre>";