fgetcsv 함수

함수 fgetcsv는 파일에서 한 줄을 읽어 CSV 형식의 필드로 파싱합니다. 첫 번째 매개변수는 열린 파일에 대한 포인터를, 두 번째는 최대 줄 길이를, 세 번째는 필드 구분자(기본값은 쉼표), 네 번째는 구분 기호 문자(기본값은 큰따옴표), 다섯 번째는 이스케이프 문자를 받습니다.

구문

phpfgetcsv(
  resource $handle,
  int $length = 0,
  string $separator = ",",
  string $enclosure = "\"",
  string $escape = "\"
);

예제

CSV 파일을 한 줄씩 읽고 내용을 출력해 보겠습니다:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file)) !== false) {
    print_r($row);
  }
  fclose($file);
?>

내용이 "a,b,c"인 파일에 대한 코드 실행 결과:

php['a', 'b', 'c']

예제

최대 줄 길이를 지정하고 사용자 정의 구분자로 CSV 읽기:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file, 1000, ';')) !== false) {
    print_r($row);
  }
  fclose($file);
?>

내용이 "a;b;c"인 파일에 대한 코드 실행 결과:

php['a', 'b', 'c']

예제

따옴표와 이스케이프를 사용하여 CSV 읽기:

php<?php
  $file = fopen('data.csv', 'r');
  while (($row = fgetcsv($file, 0, ',', '"', '\')) !== false) {
    print_r($row);
  }
  fclose($file);
?>

내용이 '"a,b",c,"d\"e"'인 파일에 대한 코드 실행 결과:

php['a,b', 'c', 'd"e']

함께 보기

  • 함수 fputcsv,
    데이터를 CSV로 작성하는
  • 함수 fgets,
    파일에서 줄을 읽는