CakePHP1.2 メディアビュー(ファイルダウンロード)
ユーザへバイナリファイル送信
<?php class ExampleController extends AppController { function download () { $this->view = 'Media'; $params = array( 'id' => 'example.zip', 'name' => 'example', 'download' => true, 'extension' => 'zip', 'path' => 'files' . DS ); $this->set($params); } } ?>
パラメータ
id
ID はファイル拡張を含むファイルサーバ上に置く場合のファイル名です。
name
ユーザに送信するファイル名を指定します。ファイルの拡張子をつけずに指定します。
download
ダウンロードさせるためにヘッダを送信するかどうかを示すブール値。
ファイル名をパラメータで受け取って、pathinfoとかで情報取得するといいかも。
<?php $data = pathinfo('test.php'); $data['dirname']; //ディレクトリ名 $data['basename']; //ファイル名 $data['extension']; //拡張子 ?>
ファイル拡張子の取得(よく忘れるのでメモ)
<?php ***拡張子がわかっている場合 basename ("ファイル名","サフィックス"); ?>
関数化 ありがたいっす。
<?php function _delete_extention( $string='' ){ if ( strcmp($string,'')==0 ){ return $string; } return preg_replace('/(.+)\.(.+?)$/','$1',$string); } ?>
参考にさせていただきました。
http://ameblo.jp/linking/entry-10049428400.html
http://logic.stepserver.jp/data/archives/528.html
http://book.cakephp.org/ja/complete/94/%E3%83%93%E3%83%A5%E3%83%BC