[트리포드/닷넷피아] 그누보드에서 신도로명우편번호 API 사용하기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

[트리포드/닷넷피아] 그누보드에서 신도로명우편번호 API 사용하기 정보

[트리포드/닷넷피아] 그누보드에서 신도로명우편번호 API 사용하기

본문

다른 호스팅사에서도 API 서비스를 하면 좋겠습니다....


트리포드호스팅(닷넷피아) 사용하는 경우 신도로명주소 우편번호를 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");
?>
추천
2

댓글 2개

이런 ... 안타까운 소식이...

삼정데이타서비스 ( 다이렉트 호스팅 )도 API 지원한다고 하네요..  그거 정리되면 또 올려놓겠습니다.
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT