【发布时间】:2012-04-06 19:35:44
【问题描述】:
我正在尝试提供一个动态生成的 csv 文件。出于某种原因,当我获取文件时,数据前面有 18 个空行。我定义的标题和我发送的 csv 数据之间没有任何空格。如果我将数据写入服务器上的文件,它不会得到这些空行。但是,如果我编写文件然后尝试将其提供给用户,则会返回空行。所以我想知道我是否搞砸了标题,或者是否还有其他我没有想到的问题:
function generate_csv($source_type, $include_unpublished = FALSE) {
// retrieve data from DB
....
// start up headers
$csv_name = "$source_type-$data_set-csv_" . date('Y-m-d') . '.csv';
header('Content-Type: text/x-comma-separated-values');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false); // required for certain browser
header('Content-Disposition: attachment; filename="' . $csv_name . '"');
// send csv data
print $csv_data;
} //end function
免责声明:我在https://drupal.stackexchange.com/questions/27649/extra-empty-rows-when-serving-csv-file 提出了这个问题,但它似乎不是特定于drupal 的,也没有很多想法出现在那里..
【问题讨论】:
-
你使用输出缓冲吗?在这种情况下,空行也可能在您设置标题的位置之前。
-
好点。不幸的是,我没有做任何观察。
-
您已经提到,您正在使用 Drupal。所以您确定,没有输出缓冲处于活动状态?