0
500 만 개가 넘는 행이있는 큰 mongodb 데이터 테이블이 있습니다. 데이터를 CSV로 내보내고 브라우저에서 직접 CSV를 출력하고 싶습니다. PHP를 사용하고 있습니다.PHP의 브라우저에 여러 CSV 파일 출력
작은 레코드 집합을 백만 줄 미만으로 설정하면 다음 코드가 완벽하게 작동합니다.
set_time_limit(0);
$output = fopen("php://output",'w') or die("Can't open php://output");
header("Content-Type:application/csv");
header("Content-Disposition:attachment;filename=auditresults_$i.csv");
fputcsv($output, array('id','createdon','colum1','column2','column3','colum4'));
foreach ($items as $item) {
fputcsv($output, $item)
}
fclose($output) or die("Can't close php://output");
그러나 5 백만 행과 같은 큰 데이터 세트를 내보낼 때 위의 코드는 실패합니다.
위의 결과를 100,000 행의 배치로 분할하여 브라우저를 통해 여러 개의 csv 파일을 출력하는 방법이 있는지 알고 싶습니다.
각 요청은 하나의 응답 만 제공 할 수 있습니다 (HTML 페이지 1 개, 이미지 1 개, PDF 1 개 또는 CSV 파일 1 개 또는 zip 파일 1 개) –
세미콜론이 누락되었습니다 ('foreach' 루프 내). 또한'$ items'는 어디에서 왔습니까? 그리고 MongoDB는 여기서 어떻게 관련이 있습니까? –
Sverri MongoDB는 PHP를 통해 csv로 데이터를 내보내는 다른 대체 방법이 있는지 찾으려고 여기 언급되었습니다. – FoxShrill