[ php ] PHP에서 CSV 로 내보내기 > php

본문 바로가기
사이트 내 전체검색

php

[ php ] PHP에서 CSV 로 내보내기

페이지 정보

작성자 웹지기 댓글 0건 조회 11,105회 작성일 18-09-28 13:25

본문

csv 아웃풋용 파일을 하나 만들어두시고 링크

----------------------------------------------------------------------------------------------- 

- csv_output.php 

[code]

<? 

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(); 

?> 

[/code]


데이터를 "(큰따옴표) 로 감싸면 ,(콤마)와 (엔터) 의 데이터도 인식합니다. 

데이터 안의 "(큰따옴표)를 ""(쌍큰따옴표)로 입력하면 데이터 안의 "(큰 따옴표)도 입력가능합니다. 

(ex: "데이터1","데이?,") 

위의 예에서 while 문만 

[code]

while(...) { 

    $csv_dump .='"'.implode('","', str_replace('"', '""', $row)).'"'."\n"; 

[/code]

정도로 입력하면 되겠네요. 

물론 implode 를 할때는 Select 질의시 필요한 필드(ex: select ID, USER...)를 선언해야 합니다.

adodb 를 쓰면 편하게 사용할수 있습니다. 

[code]

$rs = $CON->Execute($query); 

echo rs2csv($rs);

[/code]

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 82건 1 페이지
  • 82 [ php ] 상대경로와 절대경로, 열린문서의 절대경로, 상대경로, url, uri 나타내기
  • 1. 절대경로 - 어떠한 웹페이지나 파일이 가지고 있는 고유한 경로를 말한다. - 예를들어 https://funyphp.com, C:\users\document\funyphp.jpg 등을 모두 절대 경로라고한다. - 다르게는 '그 위치'라는 개념이라고 말할 수 있는데 주소라고 생각하면 이해하기 더 쉽다. - 예를 들어 내가 만약 d:\file 또는 c:\file\img.jpg 등 절대 경로를 알고 있으면 그곳으로 바로 이동하거나 그곳에 있는 파일을 바로 실행 가능하다는 것. - 따라서, ...
  • 웹지기 11-07 28890 0 0 댓글 0
  • 80 [ php ] [ class ] 클래스( class )에서 지시자( -> )의 의미
  • 객체는 자신만의 변수와 함수 가질 수 있습니다. 객체에서 변수, 함수는 각각 멤버변수 , 메쏘드 라고 불립니다.class test { var $a;// 멤버변수 (클래스 안에서 변수를 정의 할때는 var를 반드시 적어 주어야 한다.) var $b; function aaa() {// 메쏘드 (클래스안의 함수를 메쏘드 라고 한다.) $this-&gt;abcd = " 알파벳";// 메쏘드안에서 변수 정의할 때는 $this를 붙혀 준다. }}위와 같이 test 란 class 가...
  • 웹지기 09-30 19834 0 0 댓글 0
  • 79 [ php ] php 로 소켓 서버 작성하기
  • PHP로 소켓 서버 작성하기작성자 김영진(cogolda@hanmail.net)대상 독자요구사항1 개요 - 소켓 서버란 무엇인가?1.1 소켓의 형태2 PHP 소켓 함수2.1 PHP에서 소켓 만들기2.2 실용 서버 만들기2.3 실용적인 예2.4 보안가능한 기능 추가와 확장저자에 관해알아두기이 자료는 http://www.zend.com/zend/tut/tutorial-staub3.php/에 있는Writing Socket Servers in PHP를 제가 허접번역 및 내용을 추가 및 생략한 것입니다.이미...
  • 웹지기 09-27 19784 0 0 댓글 0
  • 78 [ php ] 파일 확장자 구하기 여러가지 방법
  • [code] &lt;?php $filename = "mypage.asp"; //1 strrchr함수를 사용해서 확장자 구하기 $ext = substr(strrchr($filename, '.'), 1); echo$ext; echo"&lt;br&gt;"; //2 strrpos 함수와 substr함수를 사용해서 확장자 구하기 $ext = substr($filename, strrpos($filename, '.') + 1)...
  • 웹지기 09-19 16616 0 0 댓글 0
  • 77 [ php ] phpsocket.io 사용법
  • Start php start.php start for debug mode php start.php start -dfor daemon mode php start.php restart Stop php start.php stop Status php start.php status
  • 웹지기 05-08 16084 0 0 댓글 0
  • 76 [ php ] facebook sharer를 이용할 경우 부가 메타데이터 넣는 방법
  • 페이스북 쉐어러를 사용할때는 http://www.facebook.com/sharer/sharer.php?u=공유할 url 만 입력하면 된다. 하지만, 해당 URL에 대한 대표 이미지나, 설명같은 것은 무작위 또는 가장 강조되는 테그를 가져오기때문에 목적이 그냥 특정 URL을 공유하는 것이라면 상관없지만 이게아니라면 의도치않은 결과가 나올 수 있다. 이런 부분을 해소하기 위해서 페이스북에서는 메타데이터를 이용해 특정 정보를 가져온다. 추가할 수 있는 메타 데이터들에는 url,...
  • 웹지기 09-19 15301 0 0 댓글 0
  • 열람중 [ php ] PHP에서 CSV 로 내보내기
  • csv 아웃풋용 파일을 하나 만들어두시고 링크------------------------------------------------------------------------------------------------ csv_output.php[code]&lt;?include "환경 설정 파일들";// DB를 정의합니다. 여기서는 DB 클래스 파일을 include해서 사용했습니다.$DB = new DB_Mysql($WEB_HOST,$WEB_USER,$WEB_PASS,$W...
  • 웹지기 09-28 11106 0 0 댓글 0
+1
  • 73 [ php ] foreach() 오류 Invalid argument supplied for foreach()
  • Invalid argument supplied for foreach() 이러한 오류가 발생하는것은 foreach에 검색하는 변수의 값이 비어있기 때문. 어쩔수 없이 빈값인지 확인해야 한다. if(!emepty($변수)) { foreach($변수 AS $key) { echo "샬랄라"; } } 이런식으로 감싸줘야 ㅡㅡ;;
  • 웹지기 06-08 9488 0 0 댓글 0
  • 72 [ php ] 주차 , 요일, 해당주의 시작일, 해당주의 종료일 date()
  • //해당요일 $dayOfTheWeek = date('w',mktime(0,0,0,$month,$day,$year));$dayOfTheWeek1 = date('w',strtotime($year.$month.$day)); //주차구하기$week = date('W',mktime(0,0,0,$month,$day,$year));$week1 = date('W',strtotime($year.$month.$day));//해당주차의 시작일$sd = mktime(0,0,0,$month,$day-$dayOfThe...
  • 웹지기 09-11 9448 0 0 댓글 0
  • 70 [ php ] php 7.2 count() 사용시 에러 조치
  • Severity: Warning --&gt; count(): Parameter must be an array or an object that implements Countable 기존에는 빈값일 때 문제 없었는데, 7.2버젼에서는 빈값이면 0이 아니기 때문에 오류가 발생했다. if(count($num) &gt; 0) { echo "test"; } 이부분에서 문제가 생겨서 다음처럼 수정을 했다. i...
  • 웹지기 06-08 8886 0 0 댓글 0
  • 69 [ php ] json 한글 깨지는 현상 해결
  • 배열을 json_encode()해서 json으로 바꿀 때 한글 값이 유니코드로 깨져 들어가는 현상을 해결하는 방법PHP 버젼별로 다르게 구현PHP 5.3 이하function my_json_encode($arr){ //convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127). So such characters are being "hidden" from normal json_encoding ar...
  • 웹지기 08-28 8726 0 0 댓글 0
  • 68 [ php ] PREG 한글 특수문자 체크 & 추출
  • 홍길1234동abc입!!_#니다 라는 문구가 있다고 했을때 해당 문구에서 홍길동입니다 1234 abc !!_# 를 각각 추출해내는 함수이다. euckr을 기준으로 작성된 함수이며 euckr에서는 한글 패턴의 추출이 어려운 관계로 UTF-8로 전환하여 변환하는 형태이다. 핵심은 1 한글,2 영문 ,4 숫자 ,8 특수기호로 명시하고 처리하는 식이다. ========= 내용 ============== $msg = "홍길1234동abc입!!_#니다"; ...
  • 웹지기 09-19 8545 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
10,102
어제
23,621
최대
33,828
전체
8,532,264

그누보드5
Copyright © funyphp.com. All rights reserved.