fputcsv 함수

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

fputcsv — 줄을 CSV로 형식화하고 파일 포인터에 쓰기


설명

fputcsv(
    resource $stream,
    array $fields,
    string $separator = ",",
    string $enclosure = "\"",
    string $escape = "\\",
    string $eol = "\n"
): int|false
                

fputcsv()는 행(fields 배열로 전달됨)을 CSV로 형식화하고 이를 지정된 파일 stream에 씁니다(개행으로 종료됨).


매개변수

stream
파일 포인터는 유효해야 하며 fopen() 또는 fsockopen()에 의해 성공적으로 열린 파일(그리고 fclose()에 의해 아직 닫히지 않은 파일)을 가리켜야 합니다.
fields
문자열 배열입니다.
separator
선택적 separator 매개변수는 필드 구분 기호를 설정합니다(단일 바이트 문자 1개만).
enclosure
선택적 enclosure 매개변수는 필드 인클로저를 설정합니다(단일 바이트 문자 1개만).
escape
선택적 escape 매개변수는 이스케이프 문자(최대 1바이트 문자)를 설정합니다. 빈 문자열("")은 독점 이스케이프 메커니즘을 비활성화합니다.
eol
선택적 eol 매개변수는 사용자 정의 End of Line 시퀀스를 설정합니다.

메모: enclosure 문자가 필드에 포함된 경우 바로 앞에 escape가 오지 않는 한 두 배로 이스케이프됩니다.


반환 값

작성된 문자열의 길이를 반환하거나 실패 시 false를 반환합니다.


변경 로그

버전 설명
8.1.0 선택적 eol 매개변수가 추가되었습니다.
7.4.0 이제 escape 매개변수는 독점 이스케이프 메커니즘을 비활성화하기 위해 빈 문자열도 허용합니다.

Examples

예제 #1 fputcsv() 예제

                  
<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>
                  
                

위의 예는 file.csv에 다음을 씁니다.

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
                

노트

메모:

Macintosh 컴퓨터에서 파일을 읽거나 Macintosh 컴퓨터에서 생성한 파일을 읽을 때 PHP가 줄 끝을 제대로 인식하지 못하는 경우 auto_detect_line_endings 런타임 구성 옵션을 활성화하면 문제를 해결하는 데 도움이 될 수 있습니다.


기타

  • fgetcsv() - 파일 포인터에서 줄을 가져오고 CSV 필드를 구문 분석합니다.