csv파일 다루기. fputcsv(), fgetcsv()

by 조쉬 posted Mar 26, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

csv 라는 파일이 있다. 콤마(,)로 데이터가 구분되는 파일인데, 궁금하신 분들은 엑셀에서 다른이름으로 저장하기에서 .csv로 저장해보기 바란다. scv파일은 엑셀에서도 잘 열린다.

우선 csv파일을을 다루기 위해서 필요한 함수 2가지를 살펴보면, 아래와 같다.
fputcsv() : csv 파일을 만든다. 링크 http://php.net/manual/kr/function.fputcsv.php
fgetcsv() : csv 파일을 연다. 링크 http://php.net/manual/kr/function.fgetcsv.php

사용예는 아래와 같다.

//csv파일은 특성상 2차원 배열로 만들어야 한다. 줄과 콤마로 구분되는 행이 있으니까.
$address_book = array( array("A",1,"에이") ,array("B",2,"비") ,array("C",3,"씨") ); 
echo "<pre>"; print_r($address_book); echo "</pre>";

// address_book.csv 파일 생성 
$fp = fopen("address_book.csv","w") or die("Can't create file."); 
 
foreach($address_book as $line) //fputcsv()를 써서 foreach문으로 한줄씩 집어넣는다.
 if ( fputcsv($fp,$line) === false ) die("Can't write."); 

fclose($fp); 

$fp = fopen("address_book.csv","r");  //만든 파일을 연다.

//fgetcsv()함수로 한줄씩 가져와서 while문으로 배열에 집어넣는 부분.
while( $row = fgetcsv($fp) )  $address_book []= $row; 

echo "<br><br><br><pre>"; print_r($address_book); echo "</pre>";

대충 위와 같은 방식으로 사용 하면 된다.
좀더 알고 싶은 사람은 아래 링크로 가보기 바란다. 좀 더 참고가 될 것이다.
링크 http://yaku.tistory.com/entry/csv-파일-저장-읽기