라이브러리

[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 파일에 쓰는 방법을 보여주었습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 143 페이지

검색

게시물 검색