PHP에서 CSV 파일을 구문 분석하는 방법

Ralfh Bryan Perez 2020년6월25일
PHP에서 CSV 파일을 구문 분석하는 방법

CSV는 파일의 한 유형입니다. 쉼표로 구분 된 값을 의미합니다. Excel과 같은 다른 소프트웨어에서 일반적으로 사용됩니다. 이를 통해 데이터를 테이블 형식으로 저장하고 확장자는.csv입니다.

PHP에서CSV 파일을 파싱하려면, PHP에 내장 된fopen(),fgetcsv()fclose()함수의 조합을 사용하여 수행 할 수 있습니다.

예:

/*
//sampleFile.csv
dog, cat, rat, fish
horse, cow, carabao
bird, rabbit, chicken
*/
$ctr = 1;
if (($file = fopen("sampleFile.csv", "r")) !== FALSE) {
  while (($record = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $total = count($record);
    echo "<p> $total fields in line $row: <br /></p>\n";
    $ctr++;
    for ($x = 0; $x < $ctr; $x++) {
        echo $record[$x] . "<br />\n";
    }
  }
  fclose($file);
}
//output:
/*
4 fields in line 1:

dog
cat
3 fields in line 2:

horse
cow
carabao
3 fields in line 3:

bird
rabbit
chicken
*/

위의 예제는 다음 함수를 사용하여 sampleFile.csv 의 내용을 구문 분석합니다.

fopen(Filename, Mode, Include_path, context)

이 함수는 URL 또는 파일을 수락하고 filename으로 지정된 명명 된 리소스를 스트림에 바인딩합니다.

매개 변수:

  • Filename (필수)-이 파일은 열 파일 또는 URL을 지정합니다
  • Mode (필수)-파일에 필요한 액세스 유형을 나타냅니다.
  • Include_path (옵션)-이 매개 변수를1로 설정하면include_path에서 파일을 검색합니다.
  • 컨텍스트 (선택 사항)-파일 핸들의 내용을 지정합니다. 스트림의 동작에 따라 업데이트 할 수있는 옵션 세트입니다.

fgetcsv()

이 기능은 열린 CSV 파일에서 라인을 구문 분석하는 역할을합니다.

매개 변수:

  • File (필수)-이 매개 변수는 열려있는 파일을 반환하고 파싱 할 행을 지정합니다.
  • Length(PHP 5 이하에서는 선택 사항이지만 PHP 5.1 이상에서는 필수 임)-이 매개 변수는 줄의 최대 길이입니다. 파일에서 가장 긴 행보다 커야합니다. 이 매개 변수가 없으면 길이가 제한되지 않으므로 구문 분석 속도가 느려집니다.
  • Separator (선택 사항)-이 매개 변수는 필드 구분 기호이며 기본값은 쉼표-,입니다.
  • Enclosure (선택 사항)-이 매개 변수는 필드 격납 장치이며 기본값은"입니다.
  • Escape (선택 사항)-이 매개 변수는 이스케이프 문자이며 기본값은\\입니다.

닫기()

이 함수는 열린 파일 포인터를 닫습니다.

매개 변수:

  • File(필수)-닫을 파일을 지정합니다.

참고 : 파일 포인터는 유효해야하며fopen()에 의해 성공적으로 열린 파일을 가리켜 야합니다.

관련 문장 - PHP CSV