[PHP] 그누보드에서 사용할 수 있는 우편번호 정렬 기능
그누보드(http://sir.co.kr)에서 주소 등을 검색할 때 사용하는 zip.db 파일은 우편번호 순서대로 정렬되어
저장되어 있지 않다. 이번에 배송비 관련 기능을 개발하면서 우편번호 순서로 정렬이 필요했는데 이 기능을
아래처럼 작성해봤다. 별다른 내용은 없고 PHP의 natsort 함수를 이용해서 간단히 해결할 수 있었다.
<?php
include_once(“./_common.php”);
$addr = trim($addr);
if($addr) {
$option_list = ”;
$zipfile = array();
$fp = fopen($g4[‘bbs_path’].”/zip.db”, “r”);
while(!feof($fp)) {
$zipfile[] = fgets($fp, 4096);
}
fclose($fp);$search_count = 0;
while ($zipcode = each($zipfile))
{
if(strstr(substr($zipcode[1],8,512), $addr))
{
$address = trim($zipcode[1]);$list[$search_count] = $address;
$search_count++;
}
}if($search_count) {
natsort($list);foreach($list as $value) {
$code = str_replace(“-“, “”, substr($value, 0, 7));
$option_list .= ‘<option value=”‘.$code.'”>’.$value.'</option>’.”n”;
}$option = $option_list;
}
}?>
화면에 보이는 부분은 select를 이용한다.
<select name=”zipcode”>
<? echo $option; ?>
</select>