php csv로 저장하는 법...펌
업무 때문에 PHP로 Mysql에 있는 데이터를 CSV로 내보내는 부분 때문에
살짝 고민하다가 초 간단 버전으로 한번 만들어 봤습니다.
물론 초보용 팁 입니다. 저도 초보이기 때문에 =_=;
혹시 이런 거 때문에 골치아프신 분 있으시면 유용하게 참고 되셨으면
좋겠습니다 ^^
csv 아웃풋용 파일을 하나 만들어두시고 링크를 걸어주시면 됩니다.
-----------------------------------------------------------------------------------------------
- csv_output.php
<?
include "환경 설정 파일들";
// DB를 정의합니다. 여기서는 DB 클래스 파일을 include해서 사용했습니다.
$DB = new DB_Mysql($WEB_HOST,$WEB_USER,$WEB_PASS,$WEB_DB);
// 내보낼 데이터를 가져옵니다.
$sql = "select * from 테이블명 order by idx desc";
$DB->query($sql);
// CSV 파일 최상단에 표기 할 내용입니다.
$csv_dump .= "ID,UID,발송자,발송자메일주소,수신자ID,수신자UID,수신자메일주소,메일주소공개여부,메일내용,발송날짜,";
$csv_dump .= "\r\n";
// while 로 데이터를 변수에 쓸어 넣습니다 -_-;
while ($row = $DB->fetch_array()) {
// CSV저장 시 CR+LF 및 , 표시가 있으면 안되므로 치환시킵니다.
$row[mail_txt] = str_replace("\r\n","",$row[mail_txt]);
$row[mail_txt] = str_replace(","," ",$row[mail_txt]);
// 행 값을 csv_dump 에 쓸어담습니다 -_-;
$csv_dump .= $row[UserID].",";
$csv_dump .= $row[UserUID].",";
$csv_dump .= $row[send_char].",";
$csv_dump .= $row[send_mail].",";
$csv_dump .= $row[re_UserID].",";
$csv_dump .= $row[re_UserUID].",";
$csv_dump .= $row[re_mail].",";
$csv_dump .= $row[mailagree].",";
$csv_dump .= $row[mail_txt].",";
$csv_dump .= $row[regdate].",";
$csv_dump .= "\r\n";
} // while문 종료
// CSV 파일로 저장합니다. 파일명을 날짜를 붙여 생성합니다.
$date = date("YmdHi");
$filename = "csvoutput_".$date.".csv";
header( "Content-type: application/vnd.ms-excel;charset=KSC5601" );
header("Content-Disposition: attachment; filename=$filename");
header( "Content-Description: PHP4 Generated Data" );
echo $csv_dump;
$DB->close();
?>
[출처] [펌] PHP에서 CSV 로 내보내기 초간단 방법|작성자 뚜루파파