如何检查youtube视频作品从一个php函数


How to check youtube video works from a php function

我想检查一个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;