動的に生成された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固有ではないようで、ありませんでした。あそこにたくさんのアイデアが浮かびます。