私はいくつかのmp3ファイルをストリーミングするオーディオフラッシュプレーヤーを備えたページを持っています。このプレーヤーは、webrootディレクトリのオーディオフォルダにあるすべてのファイルのパスを持つXMLファイルを使用します。CakePHP:フラッシュプレーヤーでストリーミングされたmp3ファイルのメディアビュー
私が気に入らないのは、ユーザーがXMLファイル(webrootディレクトリにもあります)にアクセスし、mp3ファイルのパスを確認してから、単にダウンロードするのではなくダウンロードすることですフラッシュプレーヤー。
CakePHPにはというメディアビューという名前があります.Webrootの外にフォルダを設定してそこにファイルを置くことができ、ユーザは自由にアクセスすることができません。 Cakeのウェブサイト(http://book.cakephp.org/view/1094/Media-Views)の説明は、ダウンロードするファイルに焦点を当てていますが、私はMedia Viewsを使って自分のmp3ファイルをユーザーがダウンロードすることはできません。または、メディアビューがなくてもうまくいく他の方法があれば:)
ありがとうございます!
明確化
これは私が変更したいことを使用しているコードです:
- 私のコントローラでは:
function index() {}
- 私の見解では(index.ctp):
<embed type="application/x-shockwave-flash" flashvars="audioUrl=/audios/01 Track 01.mp3" src="audio-player.swf"></embed>
=>私のmp3ファイルがapp/webroot/audiosではなくfolder app/audiosにあるように、Media Viewsを使ってどのように変更できますか?
これは私が試したWHAT IS:
を - 私のコントローラ(streams_controller.php)では: - :
私の意見(index.ctp)でfunction index() {}
function getFile() {
$this->view = 'Media';
$params = array(
'id' => '01 Track 01.mp3',
'name' => '01 Track 01',
'download' => false,
'extension' => 'mp3',
'path' => APP . 'audios' . DS,
'cache' => true
);
$this->set($params);
}
<embed type="application/x-shockwave-flash" flashvars="audioUrl=/streams/getFile" src="audio-player.swf"></embed>
静止していません!私は間違って何をしていますか?
代わりにファイルのページをダウンロードするかどうかを確認するだけという、私はダウンロードキーで「偽の」で試してみたが、ダウンロードダイアログがまだ表示されます。 – Albert