LOADING
1
1030
all
294
select
219
sql
171
AND
166
그누보드
71
FROM
44
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 : 1765828216.3 seconds