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 필드를 구문 분석합니다.