fputcsv() 함수란?
PHP의 fputcsv() 함수는 배열 데이터를 CSV(Comma-Separated Values) 형식의 한 줄로 변환하여 열려 있는 파일에 기록하는 함수입니다. 함수 실행 후에는 기록된 문자열의 길이를 반환하므로, 정상적으로 데이터가 저장되었는지 확인할 수 있습니다. 이 함수는 회원 목록, 통계 데이터 등 표 형태의 정보를 CSV 파일로 내보낼 때 매우 유용하게 활용됩니다.
구문
fputcsv(file_pointer, fields, delimiter, enclosure, escape)
매개변수
file_pointer − fopen(), popen(), fsockopen() 함수로 성공적으로 연 파일을 가리키는 유효한 파일 포인터입니다. 필수 입력 항목입니다.
fields − CSV 한 줄로 기록할 문자열 배열입니다. 배열의 각 요소가 하나의 필드가 됩니다.
delimiter − 필드 사이를 구분할 문자를 지정합니다. 기본값은 쉼표( , )입니다. 필요에 따라 탭이나 세미콜론 등 다른 구분자를 사용할 수도 있습니다.
enclosure − 필드를 감싸는(enclose) 문자를 설정합니다. 기본값은 큰따옴표(")입니다. 필드 안에 구분자가 포함된 경우 이 문자로 감싸져 하나의 필드로 인식됩니다.
escape − 이스케이프 처리에 사용할 문자를 설정합니다. 기본값은 백슬래시(\)입니다.
반환값
fputcsv() 함수는 파일에 성공적으로 기록된 문자열의 길이를 반환합니다. 만약 기록에 실패하면 false를 반환합니다.
예제
다음 예제는 "employees.csv" 파일에 직원 데이터를 기록하는 코드입니다. 각 문자열을 explode() 함수로 분리하여 배열로 만든 뒤 fputcsv()로 파일에 한 줄씩 추가합니다.
<?php
$mylist = array (
"Jack,Tim",
"Henry,Tom",
);
$file_pointer = fopen("employees.csv","w");
foreach ($mylist as $line) {
fputcsv($file_pointer,explode(',',$line));
}
fclose($file_pointer);
?>출력 결과
위 코드를 실행하면 "employees.csv" 파일에 다음과 같은 내용이 저장됩니다.
Jack,Tim, Henry,Tom