2012-03-04 2 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

당신은 나를 위해 코드 스 니핑을 게시 할 수 있습니까? 이제 막 빈 페이지를 반환하는 mp3 파일이 없습니다. –

+0

@YoungnateDaGreat :'$ options' 배열에'CURLOPT_FOLLOWLOCATION => true '를 추가하고 제거하십시오 같은 배열로부터의'CURLOPT_HTTPHEADER' 엔트리. 이렇게하면 리디렉션 오류가 해결됩니다. –

+0

임 빈 페이지가 생기는 이유는 무엇입니까? 나는 오류 페이지가 아니라는 것을 의미하지만 mp3가 검색된다는 것을 알아야합니까? 기본 비디오 플레이어를 렌더링하려면 콘텐츠 유형을 거기에 넣어야한다고 생각했습니다. –