fputcsv の覚書
PHPでデータをブラウザにCSV形式で出力する
でもちらと書いたのだけど、CSVデータのダウンロード別パターン。
[php]
<?php
$out = '';
$list = getHogeHogeList(); // sample
if (!empty($list)) {
$fp = fopen("php://memory", 'r+');
foreach ($list as $row) {
fputcsv($fp, $row);
}
rewind($fp);
$out = mb_convert_encoding(stream_get_contents($fp), 'SJIS', mb_internal_encoding());
}
header("Cache-Control:");
header("Pragma:");
header('Content-Type: application/octet-stream; charset=shift_jis');
header('Content-Disposition: attachment; filename=hoge' . date('YmdHis') .'.csv');
echo $out;[/php]
"php://memory" を使うところがまた微妙。