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

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

php

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

페이지 정보

작성자 웹지기 댓글 0건 조회 15,273회 작성일 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 33186 0 0 댓글 0
  • 80 [ 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 25425 0 0 댓글 0
  • 79 [ php ] [ class ] 클래스( class )에서 지시자( -> )의 의미
  • 객체는 자신만의 변수와 함수 가질 수 있습니다. 객체에서 변수, 함수는 각각 멤버변수 , 메쏘드 라고 불립니다.class test { var $a;// 멤버변수 (클래스 안에서 변수를 정의 할때는 var를 반드시 적어 주어야 한다.) var $b; function aaa() {// 메쏘드 (클래스안의 함수를 메쏘드 라고 한다.) $this-&gt;abcd = " 알파벳";// 메쏘드안에서 변수 정의할 때는 $this를 붙혀 준다. }}위와 같이 test 란 class 가...
  • 웹지기 09-30 22638 0 0 댓글 0
  • 78 [ 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 22214 0 0 댓글 0
  • 77 [ 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 21630 0 0 댓글 0
  • 76 [ php ] facebook sharer를 이용할 경우 부가 메타데이터 넣는 방법
  • 페이스북 쉐어러를 사용할때는 http://www.facebook.com/sharer/sharer.php?u=공유할 url 만 입력하면 된다. 하지만, 해당 URL에 대한 대표 이미지나, 설명같은 것은 무작위 또는 가장 강조되는 테그를 가져오기때문에 목적이 그냥 특정 URL을 공유하는 것이라면 상관없지만 이게아니라면 의도치않은 결과가 나올 수 있다. 이런 부분을 해소하기 위해서 페이스북에서는 메타데이터를 이용해 특정 정보를 가져온다. 추가할 수 있는 메타 데이터들에는 url,...
  • 웹지기 09-19 18202 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 15274 0 0 댓글 0
+1
  • 73 [ 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 13137 0 0 댓글 0
  • 72 [ php ] foreach() 오류 Invalid argument supplied for foreach()
  • Invalid argument supplied for foreach() 이러한 오류가 발생하는것은 foreach에 검색하는 변수의 값이 비어있기 때문. 어쩔수 없이 빈값인지 확인해야 한다. if(!emepty($변수)) { foreach($변수 AS $key) { echo "샬랄라"; } } 이런식으로 감싸줘야 ㅡㅡ;;
  • 웹지기 06-08 13109 0 0 댓글 0
  • 71 [ php ] htmlspecialchars 와 json 의 관계
  • htmlspecialchars는 특수문자를 HTML 엔티티로 변환해준다. 수행되는 번역 Character Replacement &amp;(ampersand) &amp;amp; "(double quote) &amp;quot;, unles...
  • 웹지기 12-04 12521 1 0 댓글 1
  • 70 [ php ] 위도 경도로 직선거리 계산하기
  • 첫번째 위도 경도, 두번째 위도 경도 를 통해서 직선거리 구하기 함수를 만들고 그에 해당하는 위도와 경로를 설정해서 거기를 환산해보면 된다. 값은 거리상의 km이다 소수점 아래 몇짜리까지 사용할 것인지는 알아서 판단하면 된다. &lt;?php /** * Calculates the great-circle distance between two points, with * the Haversine formula. * @param float $latitu...
  • 웹지기 10-03 12508 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 12313 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
24,779
어제
29,456
최대
61,067
전체
14,533,709

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