#01. 우편번호를 우체국 사이트에서 다운 받는다

http://www.epost.go.kr/search/zipcode/newAddressDown.jsp


#02. 엑셀로 변환한다

(아래 내용은 우체국 사이트에도 있습니다)


CSV(텍스트) 파일로 저장한다


#03. CSV(텍스트) 파일을 DB 에 입력한다


1. DB 테이블 생성

DROP TABLE IF EXISTS `address_org`;

CREATE TABLE  `address_org` (

`idx` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '일련번호',

`zipcode` CHAR(6) NULL DEFAULT NULL COMMENT '우편번호',

`zipcode_no` VARCHAR(5) NULL DEFAULT NULL COMMENT '우편일련번호',

`sido` VARCHAR(50) NULL DEFAULT NULL COMMENT '시도',

`sido_e` VARCHAR(70) NULL DEFAULT NULL COMMENT '시도영문',

`sigungu` VARCHAR(50) NULL DEFAULT NULL COMMENT '시군구',

`sigungu_e` VARCHAR(70) NULL DEFAULT NULL COMMENT '시군구영문',

`upmyon` VARCHAR(45) NULL DEFAULT NULL COMMENT '읍면',

`upmyon_e` VARCHAR(70) NULL DEFAULT NULL COMMENT '읍면영문',

`road_code` VARCHAR(35) NULL DEFAULT NULL COMMENT '도로명코드',

`road_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '도로명',

`road_name_e` VARCHAR(70) NULL DEFAULT NULL COMMENT '도로명영문',

`is_under` CHAR(1) NULL DEFAULT NULL COMMENT '지하여부',

`bdno_M` VARCHAR(30) NULL DEFAULT NULL COMMENT '건물번호본번',

`bdno_S` VARCHAR(30) NULL DEFAULT NULL COMMENT '건물번호부번',

`bdno_D` VARCHAR(50) NULL DEFAULT NULL COMMENT '건물관리번호',

`mass_delevery` VARCHAR(50) NULL DEFAULT NULL COMMENT '다량배달처명',

`sigungubd_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '시군구용건물명',

`law_dong_code` VARCHAR(35) NULL DEFAULT NULL COMMENT '법정동코드',

`law_dong_name` VARCHAR(50) NULL DEFAULT NULL COMMENT '법정동명',

`ri` VARCHAR(45) NULL DEFAULT NULL COMMENT '리',

`is_mountin` CHAR(1) NULL DEFAULT NULL COMMENT '산여부',

`jibun_M` VARCHAR(10) NULL DEFAULT NULL COMMENT '지번본번',

`upmyundong_no` VARCHAR(5) NULL DEFAULT NULL COMMENT '읍면동일련번호',

`jibun_S` VARCHAR(10) NULL DEFAULT NULL COMMENT '지번부번',

PRIMARY KEY (idx),

INDEX inx_roadnume (road_name)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='도로명주소 원본';



2. PHP 소스 작업

$enclosed = '"';
$escaped = '\\';
$lineend = '\\r\\n';
$ignore = "";
$afields = array( 'zipcode', 'zipcode_no', 'sido', 'sido_e', 'sigungu', 'sigungu_e', 'upmyon', 'upmyon_e', 'road_code', 'road_name', 'road_name_e', 'is_under', 'bdno_M', 'bdno_S', 'bdno_D', 'mass_delevery', 'sigungubd_name', 'law_dong_code', 'law_dong_name', 'ri', 'is_mountin', 'jibun_M', 'upmyundong_no', 'jibun_S' );

$query = "LOAD DATA LOCAL INFILE '".$table_name.".csv' INTO TABLE address_org \n";
$query .= "FIELDS TERMINATED BY ',' \n";
$query .= "OPTIONALLY ENCLOSED BY '\"' \n";
$query .= "LINES TERMINATED BY '\n' \n";
$query .= "(" . implode(',', $afields) . "); ";

mysql_query($query) or die ("Query error: " . mysql_error());


위의 작업을 함수 형태로 만들어 써도 되겠다

function import_csv( $table, $afields, $filename, $delim = ',', $enclosed = '"', $escaped = '\\',  $lineend = '\\r\\n', $hasheader = FALSE) {      
    if ( $hasheader ) $ignore = "IGNORE 1 LINES ";
    else $ignore = "";
    $q_import = 
        "LOAD DATA INFILE '" . $_SERVER['DOCUMENT_ROOT'] . $filename . "' INTO TABLE " . $table . " " .
        "FIELDS TERMINATED BY '" . $delim . "' ENCLOSED BY '" . $enclosed . "' " .
        "    ESCAPED BY '" . $escaped . "' " .
        "LINES TERMINATED BY '" . $lineend . "' " . $ignore . "(" . implode(',', $afields) . ")"
    ;
    return mysql_query($q_import);
}


이상 새주소(도로명) 입력 방법 입니다.
`address_org` 테이블 데이터들을 가공하여 원하시는대로 사용하세요~


'Programming > PHP' 카테고리의 다른 글

img태그에 div태그를 감싸주는 정규식  (0) 2015.01.12
mysql 메모리 사이즈 늘리기  (0) 2015.01.09


img태그에 div태그를 감싸주는 정규식


원 소스

<img src='./test.gif'>

<img src="http://www.phpschool.com/logo.png" />

<img src="img/logo.jpg" width="400" height="300" alt="logo" />


변환된 값

<div style="width: 100%; text-align: center"><img src='./test.gif'></div>

<div style="width: 100%; text-align: center"><img src="http://www.phpschool.com/logo.png" /></div>

<div style="width: 100%; text-align: center"><img src="img/logo.jpg" width="400" height="300" alt="logo" /></div>


정규식 소스


preg_replace('/(<img .*>)/','<div style="width: 100%; text-align: center">${1}</div>',$str);



'Programming > PHP' 카테고리의 다른 글

우편번호 DB 가공 하기  (0) 2015.01.12
mysql 메모리 사이즈 늘리기  (0) 2015.01.09
파일상에서 늘리기
ini_set('memory_limit','512M'); // 원하는 용량 설정
 
.htaccess 설정 (제일 많이 사용)
php_value memory_limit 64M
 
아파치 모듈 설정 (서버 호스팅의 경우 전체 계정에 설정 가능)
<IfModule mod_php5.c>
php_value memory_limit 64M
</IfModule>


'Programming > PHP' 카테고리의 다른 글

우편번호 DB 가공 하기  (0) 2015.01.12
img태그에 div태그를 감싸주는 정규식  (0) 2015.01.12

MySQL에서 사용하는 정수형 변수의 크기는 다음과 같다.

각각 몇 byte인지 생각해보면 수치를 외우지 않아도 대강 감을 잡을 수 있겠다.


Type:namespace prefix = o />
Bytes
Minimum Value
Maximum Value
 
 
(Signed/Unsigned)
(Signed/Unsigned)
1
-128
127
 
 
0
255
2
-32768
32767
 
 
0
65535
3
-8388608
8388607
 
 
0
16777215
4
-2147483648
2147483647
 
 
0
4294967295
8
-9223372036854775808
9223372036854775807
 
 
0
18446744073709551615


'Programming > MySQL' 카테고리의 다른 글

간단한 DB 계정 생성  (0) 2015.01.09

출처 :: http://script.ne.kr/view_qna.php?id=qnatour&keyfield=&keyword=&no=650&page=3&pages=open&offset=80&cate=741272473873&PHPSESSID=39fc12a1d2439b0c5bf18043138831bc


<img src="http://m.ok100.or.kr/images/logo.gif" onclick=how_size(this) title=이미지크기는얼마일까요 style=cursor:pointer>
<script language=javascript>
function get_image_size(id) {
    img = document.body.appendChild(document.createElement('img'))
    img.src = id.src;
    var w = img.offsetWidth;
    var h = img.offsetHeight;
    document.body.removeChild(img);
    return {width:w,height:h};
}
function how_size(img) {
    var size = get_image_size(img);
    alert('width:'+size.width+',height:'+size.height);
}
</script>
//업그레이드 2
<img src="http://m.ok100.or.kr/images/logo.gif" id="ImgView" />
<script language=javascript>
function get_image_size(id)
{
        // 제작자: Mlang-http://www.script.ne.kr (소스빼지마세요 자꾸빼내들 내시면 더 이상 소스 작업 안합니다.)
     img = document.body.appendChild(document.createElement('img'))
     img.src =document.getElementById(id).src;
     var w = img.offsetWidth;
     var h = img.offsetHeight;
     document.body.removeChild(img);
     alert(w);
}
</script>
<a href="javascript:get_image_size('ImgView');">how_size()</a> 
// 업그레이드 버전 2
<img src="http://m.ok100.or.kr/images/logo.gif" id="ImgView" />
<script language=javascript>
function get_image_size(id)
{
        // 제작자: Mlang-http://www.script.ne.kr (소스빼지마세요 자꾸빼내들 내시면 더 이상 소스 작업 안합니다.)
     img = document.body.appendChild(document.createElement('img'))
     img.src =document.getElementById(id).src;
     var w = img.offsetWidth;
     var h = img.offsetHeight;
     document.body.removeChild(img);
     alert(w);
}
</script>
<a href="javascript:get_image_size('ImgView');">how_size()</a> 


+ Recent posts