【CakePHP】ファイルダウンロード機能を作る

2019年7月29日

バージョン:CakePHP2.3 以降

CakePHP2.2まではメディアビューが使用できましたが、CakePHP 2.3でメディアビューは撤廃となったので、
cake-response-fileを使用します。

public function index() {
	$this->autoRender = false;
	$this->response->type('application/zip');
	$this->response->file('files/test.zip', array('download' => true));
	$this->response->download('test2.zip');
}

$this->response->file()の部分は「APP/webrootからの相対パス」か「フルパス」を記載します。
上記の例だとwebroot内の「files/test.zip」というファイルを「test2.zip」という名前でダウンロードすることになります。

参考:CakePHP公式サイト(CakeResponse)
参考:CakePHP公式サイト(メディアビュー)

スポンサーリンク