HTMLオーディオタグのソースに配置するPHPスクリプトの出力からオーディオファイルが必要です。 POST変数を追加できないように指定することはできません。そのためには、セッションの "songRequested"をajax呼び出しで設定し、ファイルを要求し、セッション変数を使用して必要なファイルを指定します。これよりもPHPを使って特定のオーディオファイルを要求する方法が少なくありませんか?
HTML
<audio id ="player">
<source src="" id = "source">
</audio>
JS
$.post('includes/songrequest.php',{'request':songName},function(){
$('#source').attr("src","includes/songrequest.php");
player.load();
player.play();
});
//Declare the session variable as the file you want and set the audio source to be the songrequest php below with the session variable as the file to be downloaded.
PHP私はPHPのソースのために呼び出されたとき、私はポスト変数を渡すことができなかったとして、これを行っていた
<?php
session_start();
if(!isset($_SESSION['u_uid'])){
exit();
}
if(isset($_POST['request'])){
$_SESSION['request'] = $_POST['request'];
//If requesting with post variables, set the session variable to it.
exit();
}
//Otherwise, retrieve the file set as the session variable
$file = dirname(getcwd(),2)."\\users\\".$_SESSION['u_uid']."\\".$_SESSION['
header('Content-Type: audio/'.pathinfo($file,PATHINFO_EXTENSION));
header('Cache-Control: no-cache');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');
readfile($file);
オーディオタグと私はjavascriptでネイティブにオーディオデータを実際に処理する方法を知らない。
これは、「POST変数を追加できないため」という意味で、あなたが現在行っていることのいくつかのコードも、あなたが何をしようとしているのかを見るのに役立ちます。 – ArtisticPhoenix
@ArtisticPhoenixコードを追加し、自分自身を良く説明しました。申し訳ありません。 –
ちょうどそのようなセッションに投稿権を設定すると、予期せぬ結果につながる可能性があります。あなたが本当にすべきではないセキュリティスタンスだけでなく、何が要求されているかわからないので、アプリケーションに安全を確実に入れるためにいくつかのフィルタを実行する必要があります。 – Chris