LOADING
1
8806
all
1680
SELECT
1653
AND
1177
sql
1063
FROM
663
-
420
LOGIN
JOIN
MAILL
ENJOYSITE
Business
Business
Information
Information
Study
IONIC
REACT
PHP
GNU
MySQL
ASP
.NET
MsSQL
Html
CSS
Script
SEO
DNS
JQuery
Eng
book
book
free
free
:: 글답변 ::
이 름
패스워드
이메일
홈페이지
옵 션
html
분 류
선택하세요
Html
CSS
Script
JQuery
ASP
PHP
GNU
.NET
MySQL
MsSQL
DNS
SEO
ENG
IONIC
REACT
제 목
> > > http://www.kma.go.kr/wid/queryDFS.jsp?gridx=62&gridy=122 > > > > X좌표값과 Y좌표값을 넣고 위 URL를 웹브라우저에 입력하면 해당지역 XML 코드가 출력된다. > > > > temp : 온도, hour : 시간, wfKor : 날씨, pop : 강수량, reh : 습도 > > > > > > PHP에서 Web상의 XML 문서를 파싱하기 위해서는 cURL 라이브러리를 이용하면 된다. > > String 으로 추출된 결과물을 simplexml_load_string 으로 구조체로 변환한다. > > XML 데이터를 JSON 으로 변환한 다음 배열(array)를 읽어서 원하는 자료를 추출하는 것은 foreach 문을 사용하면 되는거 같다. > > 배열을 출력하는 print_r 함수를 이용하여 내용을 봐가면서 원하는 자료만 추출하면 된다. > > > > <?php > > function file_get_contents_curl($url) { > $ch = curl_init();// curl 리소스를 초기화 > curl_setopt($ch, CURLOPT_URL, $url); // url을 설정 > // 헤더는 제외하고 content 만 받음 > curl_setopt($ch, CURLOPT_HEADER, 0); > // 응답 값을 브라우저에 표시하지 말고 값을 리턴 > curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); > $data = curl_exec($ch); > curl_close($ch);// 리소스 해제를 위해 세션 연결 닫음 > return $data; > } > > > $url = "http://www.kma.go.kr/wid/queryDFS.jsp?gridx=62&gridy=122"; > > $xml_string = file_get_contents_curl($url); > > $xml = simplexml_load_string($xml_string); > > $json = json_encode($xml); // XML to JSON > > $R = json_decode($json,TRUE);//배열로 변환 > > > > print_r($R); > > echo '<br />'; > > echo '<br />'; > > echo $R['header']['tm'].'<br />';//날씨 예보시간 > > $wData = $R['body']['data'][0]; > > print_r($wData); > > echo '<br />'; > > echo '<br />'; > > //echo $wData['hour'].'시 온도:'.$wData['temp'].' 날씨:'.$wData['wfKor']; > > > > foreach($R['body']['data'] as $wData){ > > echo $wData['hour'].'시 온도:'.$wData['temp'].' 날씨:'.$wData['wfKor']; > > echo '<br />'; > > } > > ?> > > > > 위 코드에서 JSON 으로 변경하지 않고 처리한다면 > > $data = file_get_contents_curl($url); > $xml = simplexml_load_string($data); > > echo '<pre>'; > print_r($xml); > echo '</pre>'; > > foreach ($xml->body->data as $row) { > $hour = $row -> hour; > $temp = $row -> temp; > $wfkor = $row -> wfKor; > $pop = $row -> pop; > $reh = $row -> reh; > $wdkor = $row -> wdKor; > } > > > cURL 함수 사용이 가능한지 여부를 확인하는 방법 > > <?php > if (ini_get('allow_url_fopen') == '1') { > // file_get_contents() 사용 > echo 'php.ini 환경에서 허용'; > } else { > // curl 함수 이용 가능 여부 > if (function_exists('curl_init')) { > echo 'curl 함수 사용 가능'; > } else { > echo 'curl 함수 이용 불가'; > } > } > ?> > > > > php.ini에는 'allow_url_fopen'라는 설정항목이 있다. > 이 항목이 off일 경우에는 fopen 등의 파일관련 함수에서 URL로 파일을 읽어오는 것이 불가능하다. > 'allow_url_fopen'을 off로 하는 대부분의 이유는 '보안 취약성'의 우려가 있기 때문이다. > For example, somebody might pass /etc/passwd as a url, and be able to view its contents. > > > > 출처: https://link2me.tistory.com/1417 [소소한 일상 및 업무TIP 다루기] >
링크 #1
링크 #2
파일첨부
왼쪽의 글자를 입력하세요.
inbanner118x33
inbanner118x33
inbanner118x33
inbanner118x33
inbanner118x33
inbanner118x33
inbanner118x33
COPYRIGHT©
BYWOONG
ALLRIGHTSRESERVED
경영
|
프로그래밍
|
외국어
|
정보게시판
|
자유게시판
|
포트폴리오
|
내소개
|
|
로그인
|
회원가입
Page loading took : 1785655230.8 seconds