PHP에서 CSV 파일을 구문 분석하는 방법
Ralfh Bryan Perez
2020년6월25일
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()
에 의해 성공적으로 열린 파일을 가리켜 야합니다.