Я пытаюсь определить, существует ли поток (файл ogg или mp3) или нет.
Я хотел использовать get_headers, но заметил, что мой хостинг отключил эту функцию.
Я могу активировать его в htaccess, но по некоторым причинам он не работает должным образом.
В любом случае, я решил использовать cURL, и он работает, если я пытаюсь определить, существует ли URL-адрес:
$curl = curl_init();
curl_setopt_array( $curl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'http://stackoverflow.com' ) );
curl_exec( $curl );
$response_code = curl_getinfo( $curl, CURLINFO_HTTP_CODE );
curl_close( $curl );
echo 'http://stackoverflow.com : response code '.$response_code.'<br />';
if ($response_code == 200)
{
echo 'url exists';
} else {
echo "url doesn't exist";
}
Это работает нормально. Я пробовал с ложным URL-адресом, и код ответа равен 0.
Я не знаю, почему это не работает с моим потоком, как этот:
http://locus.creacast.com:9001/StBaume_grotte.ogg
Я думал о проблеме с сервером, но пробовал использовать другие потоки, найденные в сети (например, этот: http://radio.rim952.fr:8000/stream.mp3), и я до сих пор не могу получить код ответа.
$curl_2 = curl_init();
curl_setopt_array( $curl_2, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'http://locus.creacast.com:9001/StBaume_grotte.ogg' ) );
curl_exec( $curl_2 );
$response_code_2 = curl_getinfo( $curl_2, CURLINFO_HTTP_CODE );
curl_close( $curl_2 );
echo '<br /><br />http://locus.creacast.com:9001/StBaume_grotte.ogg : '.$response_code_2.'<br />';
if ($response_code_2 == 200)
{
echo 'url existe';
} else {
echo "url n'existe pas";
}
Так что я думаю, что это не проблема сервера, а связано с типом URL/файла.
Знаете, что я могу проверить? Мой код ответа всегда равен 0, даже если файл существует, и получить код ответа очень медленно.