我正在使用PHP生成CSV文件。我在做什么
<?php
header("Content-type: text/csv");
header("Content-Disposition: attachment; filename="myfile.csv");
header("Pragma: no-cache");
header("Expires: 0");
echo "mycontent";
exit;
它使用我的内容生成CSV文件,但在CSV内容的开头添加了两个额外的空格(我猜的是标签空格)。我已经使用trim()和其他相关函数来删除空格,但它没有帮助。
示例输出(带空格):
first_column,second_column
first_data,second_data
但它应该是:
first_column,second_column
first_data,second_data
请帮我解决如何在CSV文件的开头删除这两个额外空格。
答案 0 :(得分:6)
我遇到了同样的问题,经过数小时的搜索后终于找到了解决方案。在标题修复后添加:ob_end_clean()...
header('Content-Disposition: attachment; filename="sample.txt"');
ob_end_clean();
我之前从未使用过ob_end_clean(),但它看起来像是清理缓冲区和其他似乎导致在以这种方式创建下载的文件开头时出现双空格的东西。我只找到了解决方案,因为它是与此问题无关的示例中的代码的一部分,所以希望未来有人会偶然发现这个问题,解决问题并继续他们的生活!