<?
/** aja-zip.php 2007 03 27
* author: 이승윤(******@*****.com)
* version: 0.1
* last-modified: 2007 03 29
* description: ajax 우편번호 찾아주기 서버 스크립트
*/
/** aja-zip.php 2007 03 27
* author: 이승윤(******@*****.com)
* version: 0.1
* last-modified: 2007 03 29
* description: ajax 우편번호 찾아주기 서버 스크립트
*/
$addr1 = iconv("UTF-8", "EUC-KR", $_GET['addr1']); // 검색 요청으로 들어온 값을 euc-kr로 바꿔줍니다. 브라우저측 javascript 요청이 utf-8로 들어오기 때문
$zipfile = file("./zip.db");
$search_count = 0;
// $addr1 = 검색하려는 읍/면/동 이름
// zip.db 파일 -> 역파일로 만드는게 좋지 않을까? 읍/면/동 이름 - 우편번호 - 시/도 구/군 postfix
if ($addr1) {
while ($zipcode = each($zipfile)) { // $zipfile 의 각 라인에 대해서
// $zipcode[1] 에 주소 한줄이 들어가 있습니다.
// if (strpos(substr($zipcode[1],9,512), $addr1)) { // strstr 보다는 strpos 가 성능상 낫지 않을까
if (strpos($zipcode[1], $addr1)) { // strstr 보다는 strpos 가 성능상 낫지 않을까
$list[$search_count][zip1] = substr($zipcode[1],0,3); // zip1 - 우번 앞자리
$list[$search_count][zip2] = substr($zipcode[1],4,3); // zip2 - 우번 뒷자리
$addr = explode(" ", substr($zipcode[1],8)); // $addr - 주소(XX시 XX구 XX동 YYZ-ZZ)
if ($addr[sizeof($addr) - 1]) {
$list[$search_count][addr] = str_replace($addr[sizeof($addr) - 1], "", substr($zipcode[1],8));
$list[$search_count][bunji] = trim($addr[sizeof($addr)-1]);
} else {
$list[$search_count][addr] = substr($zipcode[1],8);
}
$list[$search_count][encode_addr] = urlencode($list[$search_count][addr]);
$search_count++;
}
}
if (!$search_count) {
echo("0 result 결과가 없습니다.");
} else {
foreach ($list as $entry) {
// 브라우저에서는 utf로 수신하므로 인코딩 변경
echo iconv ("EUC-KR", "UTF-8", "$entry[zip1]-$entry[zip2]|$entry[addr] $entry[bunji]&&"); // 우편번호는|로 구분하고 항목은&&로 구분.
}
}
}
$search_count = 0;
// $addr1 = 검색하려는 읍/면/동 이름
// zip.db 파일 -> 역파일로 만드는게 좋지 않을까? 읍/면/동 이름 - 우편번호 - 시/도 구/군 postfix
if ($addr1) {
while ($zipcode = each($zipfile)) { // $zipfile 의 각 라인에 대해서
// $zipcode[1] 에 주소 한줄이 들어가 있습니다.
// if (strpos(substr($zipcode[1],9,512), $addr1)) { // strstr 보다는 strpos 가 성능상 낫지 않을까
if (strpos($zipcode[1], $addr1)) { // strstr 보다는 strpos 가 성능상 낫지 않을까
$list[$search_count][zip1] = substr($zipcode[1],0,3); // zip1 - 우번 앞자리
$list[$search_count][zip2] = substr($zipcode[1],4,3); // zip2 - 우번 뒷자리
$addr = explode(" ", substr($zipcode[1],8)); // $addr - 주소(XX시 XX구 XX동 YYZ-ZZ)
if ($addr[sizeof($addr) - 1]) {
$list[$search_count][addr] = str_replace($addr[sizeof($addr) - 1], "", substr($zipcode[1],8));
$list[$search_count][bunji] = trim($addr[sizeof($addr)-1]);
} else {
$list[$search_count][addr] = substr($zipcode[1],8);
}
$list[$search_count][encode_addr] = urlencode($list[$search_count][addr]);
$search_count++;
}
}
if (!$search_count) {
echo("0 result 결과가 없습니다.");
} else {
foreach ($list as $entry) {
// 브라우저에서는 utf로 수신하므로 인코딩 변경
echo iconv ("EUC-KR", "UTF-8", "$entry[zip1]-$entry[zip2]|$entry[addr] $entry[bunji]&&"); // 우편번호는|로 구분하고 항목은&&로 구분.
}
}
}
?>
- opencode.co.kr -