>백엔드 개발 >PHP 튜토리얼 >대용량 CSV 파일을 읽고 PHP를 사용하여 데이터베이스로 가져오는 방법

대용량 CSV 파일을 읽고 PHP를 사용하여 데이터베이스로 가져오는 방법

墨辰丷
墨辰丷원래의
2018-05-19 09:43:502138검색

이 글은 주로 PHP를 사용하여 대용량 CSV 파일을 데이터베이스로 읽는 방법을 소개합니다. 관심 있는 친구들이 참고하면 도움이 될 것입니다.

PHP는 어떻게 대용량 CSV 파일을 읽고 데이터베이스로 가져오나요?

수백만 개의 데이터 항목이 포함된 CSV 파일의 경우 파일 크기가 수백 MB에 달할 수 있습니다. 단순히 읽는 경우 시간이 초과되거나 정지될 수 있습니다.

CSV 파일의 데이터를 데이터베이스로 성공적으로 가져오기 위해서는 일괄 처리가 매우 필요합니다.

다음 함수는 CSV 파일에 지정된 특정 데이터 행을 읽습니다.

/**
 * csv_get_lines 读取CSV文件中的某几行数据
 * @param $csvfile csv文件路径
 * @param $lines 读取行数
 * @param $offset 起始行数
 * @return array
 * */
function csv_get_lines($csvfile, $lines, $offset = 0) {
 if(!$fp = fopen($csvfile, 'r')) {
 	return false;
 }
 $i = $j = 0;
	while (false !== ($line = fgets($fp))) {
		if($i++ < $offset) {
			continue; 
		}
		break;
	}
	$data = array();
	while(($j++ < $lines) && !feof($fp)) {
		$data[] = fgetcsv($fp);
	}
	fclose($fp);
 return $data;
}

호출 방법:

$data = csv_get_lines(&#39;path/bigfile.csv&#39;, 10, 2000000);

print_r($data);

이 함수는 주로 ~의 행 위치 지정, 시작 줄 번호를 건너뛰어 파일 포인터 위치 지정을 실현합니다.

데이터가 데이터베이스에 저장되는 방법에 대해서는 이 문서에서 자세히 다루지 않습니다.

위 기능은 500M 이내의 파일에서 테스트되었으며 더 큰 파일에서는 테스트되지 않았습니다.

PHP에서 대용량 CSV 파일을 읽고 데이터베이스로 가져오는 이 예제는 모두 편집자가 공유한 내용이므로 참고가 되기를 바랍니다.

관련 권장 사항:

php 자동 백업database테이블 방법

php mysqldatabase클래스를 캡슐화하는 방법

phpphp가 mongodb를 캡슐화하는 방법 데이터베이스

위 내용은 대용량 CSV 파일을 읽고 PHP를 사용하여 데이터베이스로 가져오는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.