현재 위치: > 최신 기사 목록> PHP의 FPUTCSV 함수를 사용하여 배열 데이터를 CSV 파일에 올바르게 작성하는 방법은 무엇입니까? 자세한 단계는 무엇입니까?

PHP의 FPUTCSV 함수를 사용하여 배열 데이터를 CSV 파일에 올바르게 작성하는 방법은 무엇입니까? 자세한 단계는 무엇입니까?

M66 2025-06-26

개발 프로세스 중에 CSV 파일은 종종 데이터 내보내기 및 데이터 교환에 사용됩니다. PHP는 배열 형식의 데이터를 CSV 파일에 작성하기 위해 매우 편리한 내장 기능 FPUTCSV ()를 제공합니다. 이 기사에서는 FPUTCSV () 함수를 사용하여 표준 CSV 파일에 배열을 올바르게 작성하는 방법을 자세히 설명합니다.

1. fputcsv 란 무엇입니까?

fputcsv ()는 php에서 제공하는 함수입니다. 기능은 배열 형식 데이터를 CSV 형식으로 열기 파일 리소스에 작성하는 것입니다. 이 기능은 수동 스 플라이 싱으로 인한 오류를 피하기 위해 필요한 구분자, 따옴표, 라인 브레이크 및 기타 문제를 자동으로 처리합니다.

기능 프로토 타입은 다음과 같습니다.

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

매개 변수 설명 :

  • $ stream : 파일 핸들, fopen () 로 열린 자원.

  • $ Fields : 작성할 1 차원 배열, 각 요소는 CSV 파일의 열을 나타냅니다.

  • $ 분리기 : 필드 간의 분리기, 기본값으로 쉼표 ( , ).

  • $ enclosure : 필드 값의 주변 문자는 이중 인용문 ( " )입니다.

  • $ ESCAP : 탈출 문자, 기본값은 BackSlash ( \ )입니다.

2. 데이터를 작성하도록 준비하십시오

CSV 파일에 작성하려는 일련의 사용자 데이터가 있다고 가정합니다.

 $data = [
    ['사용자 이름', '우편', '등록 시간'],
    ['장 산', 'zhangsan@m66.net', '2025-06-10 10:00:00'],
    ['Li Si', 'lisi@m66.net', '2025-06-10 11:20:00'],
    ['왕 우', 'wangwu@m66.net', '2025-06-10 12:35:00']
];

3. CSV 파일에 쓰기위한 코드 예제를 완료하십시오

위의 데이터를 user.csv 라는 파일에 작성하고 싶습니다.

 <?php

// 쓰기 CSV 파일 경로
$filename = 'users.csv';

// 쓰기 모드에서 파일을 엽니 다(파일이 존재하지 않으면 자동으로 생성됩니다.)
$fp = fopen($filename, 'w');

if ($fp === false) {
    die("파일을 열 수 없습니다: $filename");
}

// 쓰기数据
$data = [
    ['사용자 이름', '우편', '등록 시간'],
    ['장 산', 'zhangsan@m66.net', '2025-06-10 10:00:00'],
    ['Li Si', 'lisi@m66.net', '2025-06-10 11:20:00'],
    ['왕 우', 'wangwu@m66.net', '2025-06-10 12:35:00']
];

// 모든 데이터 라인을 루프하고 파일에 쓰십시오.
foreach ($data as $row) {
    fputcsv($fp, $row);
}

// 파일 핸들을 닫습니다
fclose($fp);

echo "CSV 파일 쓰기가 완료되었습니다。\n";

4. 다운로드 할 브라우저에서 출력 (선택 사항)

파일을 서버에 저장하지 않고 사용자가 CSV 파일을 직접 다운로드하도록하려면 다음 방법을 사용할 수 있습니다.

 <?php

header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="users.csv"');

$fp = fopen('php://output', 'w');

$data = [
    ['사용자 이름', '우편', '등록 시간'],
    ['장 산', 'zhangsan@m66.net', '2025-06-10 10:00:00'],
    ['Li Si', 'lisi@m66.net', '2025-06-10 11:20:00'],
    ['왕 우', 'wangwu@m66.net', '2025-06-10 12:35:00']
];

foreach ($data as $row) {
    fputcsv($fp, $row);
}

fclose($fp);

이 코드가 포함 된 PHP 파일에 액세스하면 브라우저에서는 사용자.csv 라는 파일을 다운로드하라는 메시지가 표시되며 콘텐츠는 우리가 준비한 데이터입니다.

5. 자주 묻는 질문과 예방 조치

  1. 문자 인코딩 문제 : 기본 출력은 UTF-8입니다. Excel에서 열 때 Barlled 코드가 나타나면 출력 전에 UTF-8 BOM 헤더를 추가 할 수 있습니다.

     echo "\xEF\xBB\xBF"; // 추가 BOM
    
  2. 배열은 1 차원이어야합니다 . fputcsv ()는 1 차원 배열 만 허용하며 다차원 배열로 전달하면 행으로 행으로 처리해야합니다.

  3. 파일 권한 문제 : PHP 스크립트에 지정된 디렉토리에 쓸 수있는 권한이 있는지 확인하십시오. 그렇지 않으면 fopen () 이 실패합니다.

6. 요약

PHP의 fputcsv () 함수를 통해 로컬 파일에 작성되었거나 브라우저를 통해 직접 다운로드하든 CSV 파일에 배열 형식 데이터를 쉽게 쓸 수 있습니다. 데이터를 준비하고 파일 작동 기능을 올바르게 사용하여 효율적이고 표준화 된 데이터 내보내기 기능을 달성하십시오.