$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)." ";//防止中文乱码,防止打开文件时显示科学计算法(只针对长数字字符串有效)
}
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);
你也可以不写文件,直接把内容用,号隔开,每一行就用
换行就可以
foreach($data as $row){
$convertedRow=array();
foreach($row as $val){
$convertedRow[]=iconv('utf-8','gbk',$val)." ";
}
$csvFile.=implode(',',$convertedRow)."
";
}