표준 PHP 라이브러리(SPL) SplFileObject::fputcsv
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SplFileObject::fputcsv — 필드 배열을 CSV 라인으로 작성
설명
public SplFileObject::fputcsv( array $fields, string $separator = ",", string $enclosure = "\"", string $escape = "\\", string $eol = "\n" ): int|false
파일에 fields
배열을 CSV 라인으로 씁니다.
매개변수
fields
- 값의 배열입니다.
separator
- 선택적
separator
매개변수는 필드 구분 기호를 설정합니다(단일 바이트 문자 1개만). enclosure
- 선택적
enclosure
매개변수는 필드 인클로저를 설정합니다(1바이트 문자만 해당). escape
- 선택적
escape
매개변수는 이스케이프 문자(최대 1바이트 문자)를 설정합니다. 빈 문자열(""
)은 독점 이스케이프 메커니즘을 비활성화합니다. eol
- 선택적
eol
매개변수는 사용자 정의 End of Line 시퀀스를 설정합니다.
메모: enclosure
문자가 필드에 포함된 경우 바로 앞에 escape
가 오지 않는 한 두 배로 이스케이프됩니다.
반환 값
작성된 문자열의 길이를 반환하거나 실패 시 false
를 반환합니다.
separator
또는 enclosure
매개변수가 단일 문자가 아닌 경우 false
를 반환하고 CSV 행을 파일에 쓰지 않습니다.
오류/예외
separator
또는 enclosure
매개변수가 단일 문자가 아닌 경우 E_WARNING
레벨 오류가 발행됩니다.
변경 로그
버전 | 설명 |
---|---|
8.1.0 | 선택적 eol 매개변수가 추가되었습니다. |
7.4.0 | escape 매개변수는 이제 독점 이스케이프 메커니즘을 비활성화하기 위해 빈 문자열도 허용합니다. |
Examples
예제 #1 SplFileObject::fputcsv() 예제
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$file = new SplFileObject('file.csv', 'w');
foreach ($list as $fields) {
$file->fputcsv($fields);
}
?>
위의 예는 file.csv
에 다음을 씁니다.
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
기타
- fputcsv() - 라인을 CSV로 포맷하고 파일 포인터에 쓰기
- SplFileObject::fgetcsv() - 파일에서 줄을 가져오고 CSV 필드로 구문 분석합니다.