php出力処理、他にも使えそうなので、サンプルとして残す
/**
* 文字列の配列の配列をCSV出力する
*
* この関数は、文字列の配列を複数持つ配列(2次元配列)を受け取り、
* それをCSV形式で出力します。
*
* @param string $filename ファイル名
* @param array $records 文字列を要素とする配列の配列
*/
function csv_download($filename, $records) {
// 出力情報の設定
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename={$filename}");
header("Content-Transfer-Encoding: binary");
// 出力バッファを開始
ob_start();
// もし他の部分で余計なデータが出力されていた場合にクリアする
ob_clean(); // ここで出力バッファをクリアする場合
// ベースとなるデータを作成
$buffer = "";
foreach($records as $record) {
$buffer.= '"' . implode('","', $record) . '"'. "\r\n";
}
$buffer = mb_convert_encoding($buffer, "SJIS-win", "auto");
echo $buffer;
// 出力バッファの内容を終了して送信
ob_end_flush();
exit;
}
コメントを残す