Web ページで、以下のコードを使用していくつかのデータを CSV ファイルに書き込み、最後に fclose(); で閉じています。
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename='.$filename);
$out = fopen('php://output', 'w');
fputcsv($out, $cvs_cols);
fclose($out);
echo "HELLO WORLD"; // sneaks into CSV!?
既に fclose() が行われているのに、CSV ダウンロード ファイルに「HELLO WORLD」が入るのはなぜですか? ブラウザに表示するページの残りの HTML を出力したい。どうやってやるの?