ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

CakePHPでサーバのデータをダウンロードさせる手法

スポンサードリンク

http://www.flickr.com/photos/63775128@N00/2984381240
photo by koyhoge


headerに情報を詰めて、返してあげればおkです。

// ファイルパス
$downLoadFile = $filePath . $fileName;

// ヘッダーに情報をまとめる
$this->response->header(array(
	// ダウンロードさせる
	'Content-Type: application/octet-stream',
	// よくわかりまてん
	'Content-Disposition: attachment; filename="' . $fileName . '"',
	// これを付与すると時間が計測できるからプログレスバーとかで利用できるとか
	'Content-Length: '.filesize($downLoadFile),
));

// ダウンロードさせたいファイルデータを渡す
$this->response->file($downLoadFile);

// ファイルを任意で指定
$this->response->download($downLoadFile);