【问题标题】:How can I check to see if a Vimeo video exists?如何检查 Vimeo 视频是否存在?
【发布时间】:2011-04-24 06:28:16
【问题描述】:

目前,我有一个基于 vimeo ID 构建 vimeo 播放器的函数

function create_video_player_by_ID($video_id){
    $player = '<iframe src="http://player.vimeo.com/video/';
    $player .= $video_id.'" ';
    $player .= 'width="'.$this->width.'" ';
    $player .= 'height="'.$this->height.'" ';
    $player .=  'frameborder="0"></iframe>';



    return $player;
}

目前,我在播放器窗口中收到一个 vimeo appology 是 ID 无效,但我想做更多的事情。我怎样才能在视频播放器之前返回一个布尔值,这样我就可以做一些失败的事情?

【问题讨论】:

    标签: api vimeo


    【解决方案1】:

    您可以通过视频 URL 使用 HEAD 请求方法。

    function check_remote_video_exists($video_url) {
    
        $headers = @get_headers($video_url);
    
        return (strpos($headers[0], '200') > 0) ? true : false;
    }
    

    像这样检查你的 vimeo URL:

    if (check_remote_video_exists('YOUR_VIMEO_VIDEO_URL')) {
    
        // video exists, do stuff
    
    } else {
    
        // video does not exist, do other stuff
    
    }
    

    希望这对某人有所帮助。

    【讨论】:

      【解决方案2】:

      在文档中,明确提到我们如何从 Vimeo 获取视频。如果视频退出,则需要点击带有视频 ID 的 URL,然后响应代码为 200,否则如果视频不存在,则会给出 404 响应。 See here

      https://developer.vimeo.com/api/reference/videos#get_video

      【讨论】:

        【解决方案3】:

        尝试对 src URL 执行 HEAD 请求,以确保它返回状态 200 而不是 404。

        您还可以使用视频 API 来获取有关创意的信息。见their docs

        【讨论】:

          【解决方案4】:

          出于嵌入目的,最好的方法是使用视频网址调用 oEmbed。如果无法嵌入视频,它将返回非 200 代码。

          Vimeo oEmbed docs

          【讨论】:

            猜你喜欢
            • 2013-12-13
            • 1970-01-01
            • 1970-01-01
            • 2017-06-07
            • 2015-12-27
            • 1970-01-01
            • 2012-05-16
            • 2021-10-19
            • 1970-01-01
            相关资源
            最近更新 更多