php Curl открыть mp3 файл - PullRequest
0 голосов
/ 04 марта 2012

Я веб-разработчик / музыкальный продюсер.и я работаю на моем личном сайте.Я использую плагин jplayer jquery + Php Curl для получения файла.Однако я получаю 301 error permanently moved ????Я не понимаю, почему я получаю это.Я отправил заголовок типа контента для аудио / 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 Ответ

2 голосов
/ 04 марта 2012

Сервер перенаправляет вас, но стандартное поведение cURL - игнорировать перенаправления. Включите параметр CURLOPT_FOLLOWLOCATION, чтобы выполнить переадресацию 301.

Кроме того, вы должны удалить CURLOPT_HTTPHEADER. Не существует такого заголовка, как type=, и даже если бы он был, он будет применяться к ответу, а не к запросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...