2012-03-04 134 views
0

我是一名網絡開發人員/音樂製作人。我正在個人網站上工作。 我正在使用jplayer jquery Plugin + Php Curl來檢索文件。 但是我得到一個301 error permanently moved?我不明白爲什麼我得到這個。我發送了音頻/ mepeg的內容類型標題,但沒有結果。php Curl打開mp3文件

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捲曲文件:

<?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"; 
} 
?> 

回答

2

服務器重定向你,但捲曲的默認行爲是忽略重定向。打開選項CURLOPT_FOLLOWLOCATION以遵循301重定向。您也可以刪除CURLOPT_HTTPHEADER。沒有像type=這樣的標題,即使有,它也會應用於響應而不是請求。

+0

您可以發佈一個代碼剪斷我的IM unfamilair與你談論現在它只是返回一個空的頁面沒有MP3文件 – 2012-03-04 12:28:48

+0

@YoungnateDaGreat什麼:加上'CURLOPT_FOLLOWLOCATION => TRUE'你'$ options'陣列,並刪除來自同一個數組的'CURLOPT_HTTPHEADER'條目。這應該解決重定向錯誤。 – 2012-03-04 12:37:36

+0

進入空白頁你知道爲什麼嗎?我的意思是它不是一個錯誤頁面,但是,我需要知道MP3將被檢索?我以爲我不得不把內容類型的默認視頻播放器呈現? – 2012-03-04 12:59:11