라이브러리
[PHP] SplFileObject::fputcsv - 필드 배열을 CSV 줄로 쓰기
SplFileObject::fputcsv
PHP의 `SplFileObject` 클래스는 파일을 다루기 위한 내장 클래스입니다. `fputcsv` 메서드는 CSV (Comma Separated Values) 형식으로 데이터를 파일에 쓰는 메서드입니다.
사용법
`fputcsv` 메서드는 다음과 같은 형식으로 사용할 수 있습니다.
#hostingforum.kr
php
SplFileObject::fputcsv(array $fields, string $delimiter = ',', string $enclosure = '"', string $escape_char = '')
* `$fields`: CSV 형식으로 쓰기 위한 데이터 배열입니다. 각 데이터는 문자열로 변환되어야 합니다.
* `$delimiter`: 데이터 사이의 구분자입니다. 기본값은 `,`입니다.
* `$enclosure`: 데이터를 감싸는 문자입니다. 기본값은 `"`입니다.
* `$escape_char`: 데이터에 포함된 구분자나 감싸는 문자를 탈출하기 위한 문자입니다. 기본값은 ``입니다.
예제
다음 예제에서는 `fputcsv` 메서드를 사용하여 데이터를 CSV 파일에 쓰는 방법을 보여줍니다.
#hostingforum.kr
php
// CSV 파일에 쓰기
$file = new SplFileObject('example.csv', 'w');
$file->setFlags(SplFileObject::READ_CSV | SplFileObject::SKIP_EMPTY | SplFileObject::READ_AHEAD);
$file->fputcsv(['이름', '나이', '성별']);
$file->fputcsv(['홍길동', 25, '남자']);
$file->fputcsv(['김길동', 30, '여자']);
$file->close();
이 예제에서는 `example.csv` 파일에 다음과 같은 CSV 데이터를 쓰는 코드입니다.
#hostingforum.kr
이름,나이,성별
홍길동,25,남자
김길동,30,여자
추가 예제
다음 예제에서는 데이터를 CSV 파일에 쓰기 전에 데이터를 변환하는 방법을 보여줍니다.
#hostingforum.kr
php
// 데이터 변환 후 CSV 파일에 쓰기
$data = [
['이름' => '홍길동', '나이' => 25, '성별' => '남자'],
['이름' => '김길동', '나이' => 30, '성별' => '여자'],
];
$file = new SplFileObject('example.csv', 'w');
$file->setFlags(SplFileObject::READ_CSV | SplFileObject::SKIP_EMPTY | SplFileObject::READ_AHEAD);
// 데이터를 변환하여 CSV 형식으로 쓰기
foreach ($data as $row) {
$fields = [];
foreach ($row as $key => $value) {
$fields[] = $value;
}
$file->fputcsv($fields);
}
$file->close();
이 예제에서는 데이터를 변환하여 CSV 형식으로 쓰는 코드입니다. 데이터는 다음과 같은 구조를 가집니다.
#hostingforum.kr
php
[
['이름' => '홍길동', '나이' => 25, '성별' => '남자'],
['이름' => '김길동', '나이' => 30, '성별' => '여자'],
]
변환된 데이터는 다음과 같은 CSV 형식으로 쓰입니다.
#hostingforum.kr
홍길동,25,남자
김길동,30,여자
결론
`SplFileObject::fputcsv` 메서드는 CSV 형식으로 데이터를 파일에 쓰는 메서드입니다. 데이터를 변환하여 CSV 형식으로 쓰기 위해 `$fields` 배열을 생성하고 `$file->fputcsv` 메서드를 사용할 수 있습니다. 예제를 통해 데이터를 CSV 파일에 쓰는 방법을 보여주었습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.