일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- javascript
- Database
- rairen
- API
- APK
- html
- 설정
- jw player
- 영카트
- config
- 코드이그나이터
- jquery
- function
- 후크
- 옵션표
- 안드로이드
- ajax
- 함수
- MSsql
- CI3
- 웹 프로그래밍
- CodeIgniter
- 그누보드
- 라이렌
- mysql
- php
- 헬퍼
- FCM
- codeigniter3
- phpDocumentor
Archives
- Today
- Total
프로그램 개발서
[PHP][CI3][Mysql] 주소 디비 만들기 본문
주소 디비를 만들어볼까합니다.
php 웹을 통해 디비화하는 작업이기 떄문에 시간이 올래걸릴 수 있습니다.
간단하게 처리한것이므로 시간적으로 더 효율적으로 하려면 이 글을 참고하시어 작업하시면 될 것 같습니다.
1. 도로명주소 사이트에 접속합니다.
https://www.juso.go.kr/openIndexPage.do
2. 개발자센터 이동
https://www.juso.go.kr/addrlink/main.do?cPath=99JM
3. 좌측 메뉴 '주소DB제공' > '도로명 주소DB 다운로드' > '주소DB' 클릭
https://www.juso.go.kr/addrlink/addrlinkJusoDBUse.do?menu=match
4. 전체자료 > 해당 월 클릭하여 다운로드
5. CI3 프로젝트 준비
6. 프로젝트 내 주소디비 파일 넣기
7. 컨트롤러
private function address()
{
ini_set('memory_limit', -1);//php 메모리 설정을 제한풀음.
set_time_limit(60 * 60 * 2);//php 동작 제한시간 2시간
$this->load->helper('file');//file helper 불러오기
$this->load->model('Address_model', 'addressModel');//디비 입력 모델 불러오기
echo "-- 주소 입력 시작 --<br>" . PHP_EOL;
$road_name_code_path = set_realpath('[경로]/개선_도로명코드_전체분.txt');//파일경로
$string = file_get_contents($road_name_code_path);//파일 내용 읽기
$array = explode(PHP_EOL, $string);//엔터를 기준으로 나눔.
foreach ($array as $key => $item)
{
if(isset($item) and !empty($item))
{
//문자열이 있어야 처리되도록 조건 걸음
$cul = explode('|', $item);//컬럼별로 나눔.
foreach ($cul as $k => $v)
{
if (isset($v) and ! empty($v))
{
$cul[$k] = iconv('EUC-KR', 'UTF-8//TRANSLIT', $v);
} else
{
$cul[$k] = '';
}
$insert = array(
'[도로명코드]' => "{$cul[0]}",
'[도로명]' => "{$cul[1]}",
'[도로명 로마자]' => "{$cul[2]}",
'[읍면동 일련번호]' => "{$cul[3]}",
'[시도명]' => "{$cul[4]}",
'[시도명 로마자]' => "{$cul[5]}",
'[시군구]' => "{$cul[6]}",
'[시준구 로마자]' => "{$cul[7]}",
'[읍면동]' => "{$cul[8]}",
'[읍면동 로마자]' => "{$cul[9]}",
'[읍면동 구분]' => "{$cul[10]}",
'[읍면동 코드]' => "{$cul[11]}",
'[사용여부]' => "{$cul[12]}",
'[변경사요]' => "[$cul[13]]",
'[변경이력정보]' => "{$cul[14]}",
'[고시일자]' => "{$cul[15]}",
'[말소 일자]' => "{$cul[16]}"
);
$this->addressModel->insertRoadNameCode($insert);
}
}
}
}
부가정보, 주소, 지번 파일도 위와 같은 방식으로 진행합니다.
총합 대략 2천만건 조금 넘기떄문에 시간이 걸리니 차분이 진행합니다.
8. 모델
모델은 그냥 입력만하므로 패스.
주소디비는 이것으로 만들었으니 다음은 검색을 해봅시다
반응형
'PHP' 카테고리의 다른 글
[PHP][CI3][MySQL] 시/도 목록 채우기 (0) | 2021.07.05 |
---|---|
[PHP][CI3] URL 첫 경로 부분 한글에 대한 Controller 처리 (0) | 2021.07.02 |
[PHP][CI3] custom config.php (v.0.2) (0) | 2021.06.15 |
[코드이그나이터3] korean/core_lang.php 0.3 (0) | 2020.11.03 |
[코드이그나이터] config/pagination.php (0) | 2020.05.20 |