如何获得vimeo视频的长度?

the*_*ame 2 javascript php vimeo

我有一个大问题。问题是如何获取vimeo视频的持续时间?这是场景。

我在此字段中有一个输入字段,说我现在输入youtube url,我想验证一下视频应该只有1分钟,如果是,那么我将其存储在数据库中,否则会显示错误消息。

vimeo视频文件可以这样做吗?

Man*_*s D 5

用法

echo vimeoVideoDuration('https://vimeo.com/115134273');
// output: 63 (video duration in seconds)
Run Code Online (Sandbox Code Playgroud)

功能

/**
* Vimeo video duration in seconds
*
* @param $video_url
* @return integer|null Duration in seconds or null on error
*/
function vimeoVideoDuration($video_url) {

   $video_id = (int)substr(parse_url($video_url, PHP_URL_PATH), 1);

   $json_url = 'http://vimeo.com/api/v2/video/' . $video_id . '.xml';

   $ch = curl_init($json_url);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
   curl_setopt($ch, CURLOPT_HEADER, 0);
   $data = curl_exec($ch);
   curl_close($ch);
   $data = new SimpleXmlElement($data, LIBXML_NOCDATA);

   if (!isset($data->video->duration)) {
       return null;
   }

   $duration = $data->video->duration;

   return $duration; // in seconds
}
Run Code Online (Sandbox Code Playgroud)