public function exportData($headRowArray, $dataArray, $exportFilename = '1111') { $header = array_values($headRowArray); header("Content-type:text/csv;charset=utf-8"); header("Content-Disposition:attachment;filename={$exportFilename}.csv"); header('Cache-Control:must-revalidate,post-check=0,pre-check=0'); header('Expires:0'); header('Pragma:public'); $fp = fopen('php://output', 'w'); fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); fputcsv($fp, $header); $total = count($dataArray); $limit = 5000 ; $page_num = ceil ( $total / $limit ) ; for ( $i = 0 ; $i <= $page_num ; $i ++ ) { $out_put_data = array_slice ( $dataArray , $limit * $i , $limit ) ; foreach ( $out_put_data as $dataRowArray ) { $data = array_map(function($item){return "\t".$item;},$data); fputcsv($fp, $data); } ob_flush () ; flush () ; sleep(1); } fclose($fp); exit; }