我想检查一个YouTube视频是否工作,我试图用PHP这样做,但它不工作。有人能帮我解决这个问题吗?
这是我的php代码<?php
function vaild( $header )
{
$headers = get_headers($header);
switch($headers[0]) {
case '200':
// video valid
return $header = 'video valid';
break;
case '403':
// private video
return $header = 'private video';
break;
case '404':
// video not found
return $header = 'video not found';
break;
default:
// nothing above
return $header = 'nothing above';
break;
}
}
echo vaild ('http://gdata.youtube.com/feeds/api/videos/qEDEyLjIEHE');
?>
你已经在正确的轨道上了。你只需要解析包含响应的字符串。考虑这个例子:
$url = 'http://gdata.youtube.com/feeds/api/videos/qEDEyLjIEHE';
function valid($url) {
$header = 'Cannot be determined';
$check = get_headers($url);
$code = (int) substr($check[0], 9, 3);
// rules
switch($code) {
case 403:
$header = 'Private Video';
break;
// etc your other rules
}
return $header;
}
echo valid($url);
不使用函数:
$check = get_headers('http://gdata.youtube.com/feeds/api/videos/qEDEyLjIEHE');
$code = (int) substr($check[0], 9, 3);
// rules
switch($code) {
case 200:
$header = 'video valid';
break;
case 403:
$header = 'Private Video';
break;
default:
$header = 'Cannot be determined';
break;
// etc your other rules
}
echo $header;