オーディオファイル名をテーブルに挿入し、サーバーの特定のフォルダーにアップロードするために、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パスを取得することです。助けてください、ありがとう...