Php fputcsv在浏览器中显示数据,而不是将数据下载为CSV文件

Php fputcsv在浏览器中显示数据,而不是将数据下载为CSV文件,php,fputcsv,Php,Fputcsv,我正在使用fputcsv函数将数据导出为CSV文件,但它在浏览器中显示所有数据,而不是将其下载为CSV文件。这是我的密码 header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=export.csv'); $output = fopen('php://output', 'w'); fputcsv($output, $column_headings); fc

我正在使用fputcsv函数将数据导出为CSV文件,但它在浏览器中显示所有数据,而不是将其下载为CSV文件。这是我的密码

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=export.csv');
$output = fopen('php://output', 'w');
fputcsv($output, $column_headings);
fclose($output);

数据在浏览器中正确显示,但我想将其作为export.csv文件下载。我不知道这有什么问题。如果您对此有任何建议,我们将不胜感激。

您无法控制浏览器如何处理
文本/csv
内容类型,但是,您可以告诉浏览器应将数据视为二进制数据


header('Content-Type:application/octet-stream')

我添加了
ob_start()在我的文件的开头,现在我可以导出文件了

感谢您的回答,我将替换标题('Content-Type:text/csv;charset=utf-8');带有标题(“内容类型:二进制/八位字节流”);但它不起作用;如果仍在显示,则说明您的内容类型标题或浏览器有问题。在开发人员控制台中仔细检查标题,确保内容类型与您认为的相同,如果它是在浏览器以外的其他程序中打开的,则这是您配置的预期行为。