<?php defined('BASEPATH') OR exit('No direct script access allowed');
class CSV {
function __construct($params = NULL) {
}
/**
* @param unknown $filename file name
* @param unknown $tileArray Field name
* @param unknown $dataArray Data
*/
public function export($filename, $tileArray=[], $dataArray=[]) {
ini_set('memory_limit','512M');
ini_set('max_execution_time',0);
ob_end_clean();
ob_start();
header("Content-Type: text/csv");
header("Content-Disposition:filename=".$filename);
$fp=fopen('php://output','w');
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); //Increase BOM head
fputcsv($fp,$tileArray);
$index = 0;
foreach ($dataArray as $item) {
if($index == 5000){ //Write a download buffer every 5000 data
$index=0;
ob_flush();
flush();
//sleep(1);
}
$index++;
fputcsv($fp,$item);
}
ob_flush();
flush();
ob_end_clean();
}
}