3

オーディオファイル名をテーブルに挿入し、サーバーの特定のフォルダーにアップロードするために、htmlでアップロードファイルとphpファイルを作成しました。このような単純なphpコーディングを使用すると、すべてが正常に機能します。

<?
require 'dbconnect.php';
$audio=basename($_FILES['file']['name']);
$audio=str_replace(' ','|',$audio);
//$date=date('YmdHis');


$audio=$audio.".mp3";
$tmppath1="audios/".$audio;
move_uploaded_file($_FILES['file']['tmp_name'],$tmppath1);
$query="INSERT INTO `tbl_audio` (`audioname`, `guid`) VALUES ('$audio', '$guid');";
$res=mysql_query($query);
if($res)
{
$message=array("message"=>"uploaded");
$query1="select * from tbl_audio order by date desc";
$res1=mysql_query($query1);
$row1=mysql_fetch_row($res1);
if($row1[1])
{
$audiopath="http://test.com/audios/".$row1[1];
/* get the short url */
$short_url = get_bitly_short_url($audiopath,'XXXXXXXXX','XXXXXXXXXXXX');
}
else
{
$audiopath="";
}
$message=array("audioid"=>$row1[0],"audiopath"=>$short_url,"key"=>"uploaded","guid"=>$row1[3],"audioname"=>$row1[1]);
}
else
{
$message=array("message"=>"failed to upload");
}
}
echo json_encode($message);

しかし、私の上司は、オーディオファイルと名前の実際のパスを直接表示せず、代わりにjwplayerを使用して非表示にするように指示しました。コードは次のようになります。

<script type='text/javascript' src='jwplayer/jwplayer.js'></script>

<div id='mediaplayer'></div>

<script type="text/javascript">
  jwplayer('mediaplayer').setup({
    'id': 'playerID',
    'width': '480',
    'height': '270',
    'file': 'http://test.com/test/audios/Testaudio.mp3',
    'modes': [
        {type: 'html5'},
        {type: 'flash', src: 'http://test.com/jwplayer/player.swf'},
        {type: 'download'}
    ]
  });

ブラウザで音声を再生できます。しかし、生成されたURLを変更して、開発者への応答として提供するにはどうすればよいでしょうか。私が欲しいのは、パスplayer.php?id=abc を減らすために少しapiを使用したように、名前のないオーディオファイルのURLパスを取得することです。助けてください、ありがとう...

4

1 に答える 1

1

ヘッダーを変更する必要があると思います。

player.php内で、貢献したくないファイルへの物理パスを見つけるためのロジックを実行します。

次に、ヘッダーを変更する必要があります

これが最初の答えの例です

MP3ファイルが要求されたときにPHPを提供するようにapacheを設定する

于 2012-08-01T14:44:30.380 に答える