CakePHP Note (v1.3) > ビュー > メディアビュー
メディアビュー
テンプレートを使用してダイナミックなコンテンツを送信する代わりに、静的なファイルを送信するにはメディアビューを使用します。
メディアビューを使用するとユーザーが直接ファイルにアクセスする事を禁止し、認証やアクセスのカウントなど何らかのロジックを実行した後でフィイルを送信できるようになります。
使い方
メディアビューの使い方は、コントローラで使用するビューを'Media'にセットし、ファイルに関するパラメータをセットします。
class ExampleController extends AppController {
var $name = 'Example';
var $uses = array();
function display() {
//メディアビュークラスを使用する
$this->view = 'Media';
//なんらか処理
//メディアビューのパラメータをセット
$file = 'test.html';//このファイルを送信したい
$pathInfo = pathinfo($file);
$params = array(
'id' => $pathInfo['basename'],
'name' => $pathInfo['filename'],
'extension' => $pathInfo['extension'],
'path' => 'member_files' . DS
);
$this->set($params);
}
}
'/example/display'にアクセスすると、'APP/member_files/test.html'のファイルが送信されます。
使用するパラーメータ
| パラメータ | 解説 |
|---|---|
| id | ファイル名(拡張子付き) |
| name | ファイル名(拡張子無し) |
| extension | ファイルの拡張子 |
| path | ファイルがあるパス(APPディレクトリからの相対パス/最後にディレクトリ区切り文字必要) |
| download | ダウンロードさせるかどうか(デフォルトはfalse) |
| mimeType | MIMEタイプ(メディアビューに定義されていない場合) |
定義されているファイルの種類
HTML、JPEG, PNG, PDF、ZIP、DOC、XLSなど一般的なファイルの種類が定義されています。具体的にはメディアビュークラス('cake/libs/view/media.php')のmimeTypeプロパティを確認して下さい。