我尝试检测是否存在流(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,并且获取响应代码的速度非常慢。