php Curl打开mp3文件

时间:2012-03-04 12:17:48

标签: php jquery ajax curl

我是网站开发人员/音乐制作人。我正在我的个人网站上工作。 我正在使用jplayer jquery插件+ Php Curl来检索文件。 但是我得到301 error permanently moved ????我不明白为什么我得到这个。我发送了audio / mepeg的内容类型标题,但没有结果。

HTML标记:

<?php
function beats(){
// <li><a href="hosts/beats/1.mp3" class="track track-default">1</a></li>
$beats = array("...."=>md5(1),"...."=>md5(2),"....."=>md5(3));
    foreach($beats as $key=>$value){
        echo "
        <li><a href=\"hosts/beats/beat.php?".md5('url')."=$value\" class=\"track\">$key</a></li>";
    }
}
?>
<ul class="playlist">
    <li><span>Select a track : </span></li>
    <? Beats(); ?>
</ul>

php curl file:

<?php
if(isset($_REQUEST[md5('url')])){
    $beats = array(1=>md5(1),2=>md5(2),3=>md5(3));
    foreach($beats as $beatFile=>$url){
        if($_REQUEST[md5('url')] == $url){
            $BeatFile = $beatFile;  
        }
    }   
$url = $BeatFile.".mp3";
// Initializing curl
$ch = curl_init($url); 
// Configuring curl options
$options = array(
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => array('type=audio/mpeg') ,
    CURLOPT_POSTFIELDS => $url
);
// Setting curl options
curl_setopt_array($ch,$options);
// Getting results
$beat =  curl_exec($ch);
echo $beat;
}else{
echo "No Permission";
}
?>

1 个答案:

答案 0 :(得分:2)

服务器正在重定向您,但cURL的默认行为是忽略重定向。启用选项CURLOPT_FOLLOWLOCATION以关注301重定向。

此外,您应该删除CURLOPT_HTTPHEADER。没有type=这样的标题,即使有,也会应用于响应,而不是请求。