스트림 (ogg 또는 mp3 파일)이 있는지 여부를 감지하려고합니다.스트림에 대한 HTTP 응답 코드를 읽는 데 문제가 있음 (일반 URL로 작동)
get_headers를 사용하고 싶었지만 내 호스팅에서이 기능을 사용 중지했습니다.
htaccess에서 활성화 할 수 있지만 어떤 이유로 제대로 작동하지 않습니다.
어쨌든, 나는 컬을 사용하기로 결정하고 난이 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이지만 응답 코드를 얻는 것은 매우 느립니다.
감사합니다. 귀하의 답변에 도움이됩니다. 그래서 솔루션을 사용하려면 "allow_url_fopen"을 활성화해야했습니다. 그 후에는 "스트림을 열지 못했습니다 : 연결 시간이 초과되었습니다"라는 오류가 있습니다. 그래서 지금은 문제가 응답 코드를 가져 오는 데 걸린 시간과 관련이 있다고 생각합니다. 내가 이해할 수없는, 만약 내가 스트림 URL을 열려고하면 연결이 작동하고 빠르지 만 응답 코드를 얻으려고하면 매우 느리고 시간이 있습니다. –
나를 위해 작동하는 솔루션으로 업데이트되었습니다. :) –