コントローラー経由でファイルを出力する
すごく単純なことだけど、これまでやったことがなかったのでメモ。
ファイル名はContent-Dispositionヘッダーを使って指定するんすね。今まで知らんかった。
<?php class Test extends CI_Controller { public function files($name) { $this->load->helper('file'); $this->load->library('upload'); // ファイルを読み込んで出力 $path = $this->upload->upload_path . $name; $data = readfile($path); $mime = get_mime_by_extension($path); $this->output ->set_content_type($mime) ->set_header("Content-Disposition: attachment; filename=\"{$name}\"") ->set_output($data); } } ?>