$data = [ [標題1,標題2],[內容1,內容2],[內容1,內容2]];
$fp=fopen('php://memory','w+'); // open up write to memory
foreach($data as $row){
$convertedRow=array();
foreach($row as $val){
$convertedRow[]=iconv('utf-8','gbk',$val)."\t";//防止中文亂碼,防止打開文件時顯示科學計算法(只針對長數字字符串有效)
}
fputcsv($fp,$convertedRow);
}
rewind($fp);
$csvFile=stream_get_contents($fp);
fclose($fp);
ob_clean();
$fileName = 'card_port_'.date('YmdHis').'.csv';
header('Content-Type: text/csv; charset=utf-8');
header("Content-Transfer-Encoding: binary ");
header("Content-Type: application/force-download");
header('Content-Length: '.strlen($csvFile));
header('Content-Disposition: attachment; filename="'.$fileName.'"');
echo ($csvFile);
你也能夠不寫文件,直接把內容用,號隔開,每一行就用\n換行就能夠
foreach($data as $row){ $convertedRow=array(); foreach($row as $val){ $convertedRow[]=iconv('utf-8','gbk',$val)."\t"; } $csvFile.=implode(',',$convertedRow)."\n";}