티스토리 뷰
데이터를 이동하거나 백업할 때 XML을 많이 사용하고 있습니다. 데이터를 XML 형식으로 저장하게 되면 직관성, 호환성, 확장성 등을 높일 수 있습니다. 반면 경우에 따라서는 XML 형식으로 저장하지 않아도 될 만큼 구조가 간단하거나 데이터가 적을 수도 있습니다. . 또한 데이터를 빠르게 처리해야 하는 경우에도 XML은 좋지 않은 선택일 수 있습니다.
1: <numbers>2: <number>1</number>3: <number>2</number>4: <number>3</number>5: </numbers>
위 코드는 1,2,3 값을 저장하기 위해 numbers 와 number 요소를 구성하고 있습니다. 이런 값이라면 간단하게 저장해도 될 것 같습니다.
1,2,3
이처럼 콤마(,)로 데이터 값을 구분하는 형식을 CSV(Comma-Separated Values)라고 합니다. 예를 들어 아래와 같은 데이터는 XML 이 아닌 CSV 형식으로 바꿔 보겠습니다.
이름 | 나이 | 성별 |
홍길동 | 18 | 남자 |
손담비 | 22 | 여자 |
이상무 | 28 | 남자 |
1: 홍길동,18,남자2: 손담비,22,여자3: 이상무,28,남자
Array를 CSV 형식의 파일로 저장하기
PHP에서는 fputcsv( )를 사용해서 Array를 CSV 파일로 바로 저장할 수 있습니다.
1: <?php
2: $address_book = array(3: array("Hong Gilong",18,"Male")4: ,array("Son Dambi",22,"Female")5: ,array("Lee Sangmoo",28,"Male")6: );7:8: print_r($address_book);9:10: $fp = fopen("address_book.csv","w") or die("Can't create file.");11:12: foreach($address_book as $line) {13: if ( fputcsv($fp,$line) === false ) die("Can't write.");14: }15:16: fclose($fp);17: ?>
18:19: 실행 결과 : address_book.cvs20: "Hong Gilong",18,Male21: "Son Dambi",22,Female22: "Lee Sangmoo",28,Male23:
CSV 형식의 파일을 Array로 읽어오기
Array를 CSV 파일로 저장했으니 반대로 CSV 파일의 데이터를 Array로 읽어오는 방법을 알아보겠습니다. 이 기능도 PHP에서 fgetcsv( )를 사용해서 쉽게 구현할 수 있습니다.
1: <?php
2: $fp = fopen("address_book.csv","r");3:4: $address_book = array();5:6: while( $row = fgetcsv($fp) ) {7: $address_book[] = $row;8: }9:10: print_r($address_book);11: ?>
12:13: 실행결과 :14: Array15: (16: [0] => Array17: (18: [0] => Hong Gilong19: [1] => 1820: [2] => Male21: )22: [1] => Array23: (24: [0] => Son Dambi25: [1] => 2226: [2] => Female27: )28: [2] => Array29: (30: [0] => Lee Sangmoo31: [1] => 2832: [2] => Male33: )34: )
'웹개발 > Php' 카테고리의 다른 글
페이지 네이비게이션 ...형식 (0) | 2011.06.09 |
---|---|
Kohana3 - 연구 (0) | 2011.06.08 |
php 날짜 계산 strtotime 이용 (0) | 2011.02.18 |
추상 팩토리 패턴 (0) | 2010.12.20 |
Adapter 패턴 (0) | 2010.12.20 |
댓글