- 2008-01-11 (Fri) 20:39
- CakePHP関連

ひさびさにCakePHPの開発メモ。エンジニアじゃない人はスルーの方向で・・・。
さてアプリをつくっていてCSVファイルをダウンロードさせたい、みたいなときがありますが、その際にCakePHPではこうするといいよ、というお話。なお、このコードに関しては主に青い人に聞きまくりました(笑)。
では早速。
■ やりたいこと
/user/download のURLにてユーザー全部の情報をCSVでダウンロードさせたい。
■ users_controller.php
コントローラーのdownload()を以下のように記述。
function download($id) {
$this->autoRender = false; // Viewを使わないように
Configure::write('debug', 0); // debugコードを出さないように
$csv_file = sprintf("users_%s.csv", date("Ymd-hi")); // 適当にファイル名を指定
header ("Content-disposition: attachment; filename=" . $csv_file);
header ("Content-type: application/octet-stream; name=" . $csv_file);
$buf = "";
// ごにょごにょして$bufにUserの内容を追加
// 注意点は二つ。
// 1. 一つにまとめたい文字列は""で囲む。
// 2. 文字列内に"がある場合は""としてエスケープ
print($buf); // 出力
return;
}
これで/users/download/にアクセスすればCSVファイルが出力されるはずです。よろしければどうぞ。
その他のCakePHP関連情報は以下からどうぞ。
- Newer: 【夜カフェ】 BOWERY KITCHEN/バウリー・キッチン (駒澤大学)
- Older: とてつもなくクリエイティブなブラジャーの広告
Posted on January 11th, 2008
and last modified on August 4th, 2009.
Comments:1
- かとう 09-01-26 (Mon) 17:14
-
コントローラはごにょごにょだけで
ビューでヘッダー出力とか
CSVつくったほうがMVCに合致してませんか?
Trackbacks:0
- Trackback URL for this entry
- http://www.ideaxidea.com/archives/2008/01/cakephpcsv.html/trackback
- Listed below are links to weblogs that reference
- CakePHPでCSVファイルをダウンロードさせたいときの作法 from IDEA*IDEA ~ 百式管理人のライフハックブログ


























