호스팅 [디딤365] 그누보드4에서 신도로명우편번호 API 사용하기
페이지 정보
본문
디딤365(닷넷피아)호스팅 사용하는 경우 신도로명주소 우편번호를 API로 이용할수 있습니다.
1. dbconfig.php 에 api 코드 추가
<?php
$mysql_host = "****";
$mysql_user = "****";
$mysql_password = "****";
$mysql_db = "****";
$hosting_api = "****"; // 호스팅 전용사이트에서의 회원 고유 API
?>
2. XMLparse,php 를 / bbs / 폴더에 업로드
XMLparse.php 파일은 아래 사이트에서 PHP4/5 용 파일 다운로드 가능 합니다.
http://www.criticaldevelopment.net/xml/
3-1. / skin / member / 스킨폴더 / zip.skin.php 수정
<input type=hidden name=frm_addr2 value='<?=$frm_addr2?>'> 아래쪽에 추가
<input type="hidden" name="ddlRetType" value="x" /><!-- 결과형식 "x" = XML / "j" = JSON -->
<input type="hidden" name="chkDoro" value="t" /><!-- 결과에 도로명주소 포함여부 (기본값:포함) "t" = 포함 / "f" = 포함안함 -->
<input type="hidden" name="chkJibun" value="t" /><!-- 결과에 지번주소 포함여부 (기본값:미포함) "t" = 포함 / "f" = 포함안함 -->
<input type="hidden" name="chkEngAddr" value="f" /><!-- 결과에 도로명 영어주소 포함여부 (기본값:미포함)"t" = 포함 / "f" = 포함안함 -->
<input type="hidden" name="chkBName" value="t" /><!-- 결과에 대량배달 / 건물명 포함여부 (기본값:포함) "t" = 포함 / "f" = 포함안함 -->
<input type="hidden" name="chkSimple" value="f" /><!-- 결과에 건물번호 / 지번 제외여부
(결과를 간단하게 보려 할 경우 체크 하시면 됩니다.) "t" = 제외 / "f" = 제외안함 -->
3-2. / skin / member / 스킨폴더 / zip.skin.php 수정
<input type=text name=addr1 value='<?=$addr1?>' required minlength=2 itemname='동(읍/면/리)' size=35> 앞에 내용 추가
<select name="ddlSido" id="ddlSido">
<option value="">전체</option>
<option value="강원도"<?php if ($ddlSido == "강원도") { echo " selected"; } ?>>강원도</option>
<option value="경기도"<?php if ($ddlSido == "경기도") { echo " selected"; } ?>>경기도</option>
<option value="경상남도"<?php if ($ddlSido == "경상남도") { echo " selected"; } ?>>경상남도</option>
<option value="경상북도"<?php if ($ddlSido == "경상북도") { echo " selected"; } ?>>경상북도</option>
<option value="광주광역시"<?php if ($ddlSido == "광주광역시") { echo " selected"; } ?>>광주광역시</option>
<option value="대구광역시"<?php if ($ddlSido == "대구광역시") { echo " selected"; } ?>>대구광역시</option>
<option value="대전광역시"<?php if ($ddlSido == "대전광역시") { echo " selected"; } ?>>대전광역시</option>
<option value="부산광역시"<?php if ($ddlSido == "부산광역시") { echo " selected"; } ?>>부산광역시</option>
<option value="서울특별시"<?php if ($ddlSido == "서울특별시") { echo " selected"; } ?>>서울특별시</option>
<option value="세종특별자치시"<?php if ($ddlSido == "세종특별자치시") { echo " selected"; } ?>>세종특별자치시</option>
<option value="울산광역시"<?php if ($ddlSido == "울산광역시") { echo " selected"; } ?>>울산광역시</option>
<option value="인천광역시"<?php if ($ddlSido == "인천광역시") { echo " selected"; } ?>>인천광역시</option>
<option value="전라남도"<?php if ($ddlSido == "전라남도") { echo " selected"; } ?>>전라남도</option>
<option value="전라북도"<?php if ($ddlSido == "전라북도") { echo " selected"; } ?>>전라북도</option>
<option value="제주특별자치도"<?php if ($ddlSido == "제주특별자치도") { echo " selected"; } ?>>제주특별자치도</option>
<option value="충청남도"<?php if ($ddlSido == "충청남도") { echo " selected"; } ?>>충청남도</option>
<option value="충청북도"<?php if ($ddlSido == "충청북도") { echo " selected"; } ?>>충청북도</option>
</select>
4. / bbs / zip.php 를 아래 내용으로 교체
<?php
include_once("./_common.php");
$g4[title] = "우편번호 검색";
include_once("$g4[path]/head.sub.php");
// XMLparse.php 파일은 아래 사이트에서 PHP4/5 용 파일 다운로드 가능 합니다.
// http://www.criticaldevelopment.net/xml/
include "XMLparse.php";
$WS_URL = "http://ws.didim365.com/address/addr.aspx";
/*
* allow_url_fopen 허용여부 : "허용" 필요
* 각 옵션에 대한 자세한 사항은 http://ws.didim365.com/address/docs.aspx 페이지 참고
*/
// 시/도 선택
//$GET_URL = $WS_URL . "?sd=" . urlencode("서울시");
$GET_URL = $WS_URL . "?sd=". $ddlSido;
// 결과형식
$GET_URL .= "&r=". $ddlRetType;
// 검색어 (도로명/동/리/건물명)
//$GET_URL .= "&k=" . urlencode("벚꽃로 286");
$GET_URL .= "&k=" . urlencode($addr1);
// 결과에 도로명 주소 포함여부
$GET_URL .= "&dr=". $chkDoro;
// 결과에 지번주소 포함 여부
$GET_URL .= "&jb=". $chkJibun;
// 결과에 도로명 영문주소 포함 여부
$GET_URL .= "&de=". $chkEngAddr;
// 결과에 대량배달/건물명 포함여부
$GET_URL .= "&bn=". $chkBName;
// 결과에서 건물번호/지번 정보 제외
$GET_URL .= "&sp=". $chkSimple;
// 회원 인증키
// 회원 전용 사이트 -> 회원 정보 관리 -> "API 인증키" 사용
$GET_URL .= "&key=". $hosting_api;
// 캐쉬가 안되도록 하기 위한 타임스탬프값 (캐쉬 방지 용으로 실제 사용하지는 않는 값입니다.)
$GET_URL .= "&ts=" . time();
$xml = file_get_contents($GET_URL);
$parser = new XMLParser($xml);
$parser->Parse();
$doc_el = $parser->document;
// result : 처리 성공="True", 처리 실패="False"
$Result = $doc_el->result[0]->tagData;
// message : 처리 실패인 경우 에러 메시지
$Message = $doc_el->message[0]->tagData;
//echo ("처리 결과 : " . $Result . "<br />");
//echo ("메시지 : " . $Message . "<br />");
if ($Result == "True" && $addr1)
{
// count : 처리 성공인 경우 검색된 주소 카운트
$Cnt = $doc_el->count[0]->tagData;
//echo ("카운트 : " . $Cnt . "개의 주소가 검색 되었습니다.<br /><br />");
$search_count = 0;
foreach($doc_el->data[0]->item as $item)
{
// <항상 포함>
// zipno : 우편번호
// <옵션에 따라 포함>
// doro : 도로명 주소
// doroen : 도로면 영문 주소
// jibun : 지번주소
$ZipNo = $item->zipno[0]->tagData;
$Doro = $item->doro[0]->tagData;
//echo $search_count ."-";
//echo ( $ZipNo . " : " . $Doro . "<br />");
$list[$search_count][zip1] = substr($item->zipno[0]->tagData, 0, 3);
$list[$search_count][zip2] = substr($item->zipno[0]->tagData, 3, 3);
$list[$search_count][addr] = $item->doro[0]->tagData;
$list[$search_count][jibun] = $item->jibun[0]->tagData;
$search_count++;
}
if (!$search_count)
alert("찾으시는 주소가 없습니다.");
}
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
include_once("$member_skin_path/zip.skin.php");
include_once("$g4[path]/tail.sub.php");
?>
1. dbconfig.php 에 api 코드 추가
<?php
$mysql_host = "****";
$mysql_user = "****";
$mysql_password = "****";
$mysql_db = "****";
$hosting_api = "****"; // 호스팅 전용사이트에서의 회원 고유 API
?>
2. XMLparse,php 를 / bbs / 폴더에 업로드
XMLparse.php 파일은 아래 사이트에서 PHP4/5 용 파일 다운로드 가능 합니다.
http://www.criticaldevelopment.net/xml/
3-1. / skin / member / 스킨폴더 / zip.skin.php 수정
<input type=hidden name=frm_addr2 value='<?=$frm_addr2?>'> 아래쪽에 추가
<input type="hidden" name="ddlRetType" value="x" /><!-- 결과형식 "x" = XML / "j" = JSON -->
<input type="hidden" name="chkDoro" value="t" /><!-- 결과에 도로명주소 포함여부 (기본값:포함) "t" = 포함 / "f" = 포함안함 -->
<input type="hidden" name="chkJibun" value="t" /><!-- 결과에 지번주소 포함여부 (기본값:미포함) "t" = 포함 / "f" = 포함안함 -->
<input type="hidden" name="chkEngAddr" value="f" /><!-- 결과에 도로명 영어주소 포함여부 (기본값:미포함)"t" = 포함 / "f" = 포함안함 -->
<input type="hidden" name="chkBName" value="t" /><!-- 결과에 대량배달 / 건물명 포함여부 (기본값:포함) "t" = 포함 / "f" = 포함안함 -->
<input type="hidden" name="chkSimple" value="f" /><!-- 결과에 건물번호 / 지번 제외여부
(결과를 간단하게 보려 할 경우 체크 하시면 됩니다.) "t" = 제외 / "f" = 제외안함 -->
3-2. / skin / member / 스킨폴더 / zip.skin.php 수정
<input type=text name=addr1 value='<?=$addr1?>' required minlength=2 itemname='동(읍/면/리)' size=35> 앞에 내용 추가
<select name="ddlSido" id="ddlSido">
<option value="">전체</option>
<option value="강원도"<?php if ($ddlSido == "강원도") { echo " selected"; } ?>>강원도</option>
<option value="경기도"<?php if ($ddlSido == "경기도") { echo " selected"; } ?>>경기도</option>
<option value="경상남도"<?php if ($ddlSido == "경상남도") { echo " selected"; } ?>>경상남도</option>
<option value="경상북도"<?php if ($ddlSido == "경상북도") { echo " selected"; } ?>>경상북도</option>
<option value="광주광역시"<?php if ($ddlSido == "광주광역시") { echo " selected"; } ?>>광주광역시</option>
<option value="대구광역시"<?php if ($ddlSido == "대구광역시") { echo " selected"; } ?>>대구광역시</option>
<option value="대전광역시"<?php if ($ddlSido == "대전광역시") { echo " selected"; } ?>>대전광역시</option>
<option value="부산광역시"<?php if ($ddlSido == "부산광역시") { echo " selected"; } ?>>부산광역시</option>
<option value="서울특별시"<?php if ($ddlSido == "서울특별시") { echo " selected"; } ?>>서울특별시</option>
<option value="세종특별자치시"<?php if ($ddlSido == "세종특별자치시") { echo " selected"; } ?>>세종특별자치시</option>
<option value="울산광역시"<?php if ($ddlSido == "울산광역시") { echo " selected"; } ?>>울산광역시</option>
<option value="인천광역시"<?php if ($ddlSido == "인천광역시") { echo " selected"; } ?>>인천광역시</option>
<option value="전라남도"<?php if ($ddlSido == "전라남도") { echo " selected"; } ?>>전라남도</option>
<option value="전라북도"<?php if ($ddlSido == "전라북도") { echo " selected"; } ?>>전라북도</option>
<option value="제주특별자치도"<?php if ($ddlSido == "제주특별자치도") { echo " selected"; } ?>>제주특별자치도</option>
<option value="충청남도"<?php if ($ddlSido == "충청남도") { echo " selected"; } ?>>충청남도</option>
<option value="충청북도"<?php if ($ddlSido == "충청북도") { echo " selected"; } ?>>충청북도</option>
</select>
4. / bbs / zip.php 를 아래 내용으로 교체
<?php
include_once("./_common.php");
$g4[title] = "우편번호 검색";
include_once("$g4[path]/head.sub.php");
// XMLparse.php 파일은 아래 사이트에서 PHP4/5 용 파일 다운로드 가능 합니다.
// http://www.criticaldevelopment.net/xml/
include "XMLparse.php";
$WS_URL = "http://ws.didim365.com/address/addr.aspx";
/*
* allow_url_fopen 허용여부 : "허용" 필요
* 각 옵션에 대한 자세한 사항은 http://ws.didim365.com/address/docs.aspx 페이지 참고
*/
// 시/도 선택
//$GET_URL = $WS_URL . "?sd=" . urlencode("서울시");
$GET_URL = $WS_URL . "?sd=". $ddlSido;
// 결과형식
$GET_URL .= "&r=". $ddlRetType;
// 검색어 (도로명/동/리/건물명)
//$GET_URL .= "&k=" . urlencode("벚꽃로 286");
$GET_URL .= "&k=" . urlencode($addr1);
// 결과에 도로명 주소 포함여부
$GET_URL .= "&dr=". $chkDoro;
// 결과에 지번주소 포함 여부
$GET_URL .= "&jb=". $chkJibun;
// 결과에 도로명 영문주소 포함 여부
$GET_URL .= "&de=". $chkEngAddr;
// 결과에 대량배달/건물명 포함여부
$GET_URL .= "&bn=". $chkBName;
// 결과에서 건물번호/지번 정보 제외
$GET_URL .= "&sp=". $chkSimple;
// 회원 인증키
// 회원 전용 사이트 -> 회원 정보 관리 -> "API 인증키" 사용
$GET_URL .= "&key=". $hosting_api;
// 캐쉬가 안되도록 하기 위한 타임스탬프값 (캐쉬 방지 용으로 실제 사용하지는 않는 값입니다.)
$GET_URL .= "&ts=" . time();
$xml = file_get_contents($GET_URL);
$parser = new XMLParser($xml);
$parser->Parse();
$doc_el = $parser->document;
// result : 처리 성공="True", 처리 실패="False"
$Result = $doc_el->result[0]->tagData;
// message : 처리 실패인 경우 에러 메시지
$Message = $doc_el->message[0]->tagData;
//echo ("처리 결과 : " . $Result . "<br />");
//echo ("메시지 : " . $Message . "<br />");
if ($Result == "True" && $addr1)
{
// count : 처리 성공인 경우 검색된 주소 카운트
$Cnt = $doc_el->count[0]->tagData;
//echo ("카운트 : " . $Cnt . "개의 주소가 검색 되었습니다.<br /><br />");
$search_count = 0;
foreach($doc_el->data[0]->item as $item)
{
// <항상 포함>
// zipno : 우편번호
// <옵션에 따라 포함>
// doro : 도로명 주소
// doroen : 도로면 영문 주소
// jibun : 지번주소
$ZipNo = $item->zipno[0]->tagData;
$Doro = $item->doro[0]->tagData;
//echo $search_count ."-";
//echo ( $ZipNo . " : " . $Doro . "<br />");
$list[$search_count][zip1] = substr($item->zipno[0]->tagData, 0, 3);
$list[$search_count][zip2] = substr($item->zipno[0]->tagData, 3, 3);
$list[$search_count][addr] = $item->doro[0]->tagData;
$list[$search_count][jibun] = $item->jibun[0]->tagData;
$search_count++;
}
if (!$search_count)
alert("찾으시는 주소가 없습니다.");
}
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
include_once("$member_skin_path/zip.skin.php");
include_once("$g4[path]/tail.sub.php");
?>
댓글목록
등록된 댓글이 없습니다.