有人能让我知道我在这里错过了什么。
我有这个CSV生成代码:
//for loop generating non empty $output array
fputcsv($file, $output, ',', '"');
}//end of for
fclose($file);
ob_clean();
flush();
header('Content-Description: File Transfer');
header('Content-Type:text/csv;charset=UTF-8');
header('Content-Disposition: attachment; filename='.basename(getcwd().'../../../tmp/signup_download.csv'));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize(getcwd().'../../../tmp/signup_download.csv'));
readfile(getcwd().'../../../tmp/signup_download.csv');
exit;
虽然它似乎在像记事本这样的纯文本编辑器中产生了合理的结果,但在openoffice中打开只会产生垃圾。
下面是创建的csvs的示例:
test2,test2,test2@bbfwbg.com,1234,Swindon,december_2014
我怀疑问题是在fputcsv语句中以某种方式生成,因为文件生成并下载正常。