ページで使用されている Wordpress テーマ テンプレート ファイルがあります。テンプレートは配列に対して db を照会し、結果を csv ファイルに出力しようとします。ブラウザへの出力は想定されていません。コードは次のとおりです。
/***
* Output an array to a CSV file
*/
function download_csv_results($results, $name = NULL)
{
if( ! $name)
{
$name = md5(uniqid() . microtime(TRUE) . mt_rand()). '.csv';
}
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename='. $name);
header('Pragma: no-cache');
header("Expires: 0");
$outstream = fopen("php://output", "w");
foreach($results as $result)
{
fputcsv($outstream, $result);
}
fclose($outstream);
}
ファイルは期待どおりにユーザーのダウンロード ディレクトリに書き込まれますが、空です。117 要素の結果があることを確認するためにデバッグしました。上記のループが実行されています。出力バッファがフラッシュされていないか、Wordpress によってクリアされているかのようです。