• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP 获取视频时长的实例代码

    具体代码如下所示:

    /*
    * 获得视频文件的缩略图和视频长度
    * @date 2018-05-16
    * @copyright
    */
    //获得视频文件的总长度时间和创建时间 根据视频长度判断是否失效
    public function getTime($url)
    {
      //获取视频重定向后的链接
      $location = locationUrl($url);
      //获取视频Content-Length
      $responseHead = get_data($location);
      $list1 = explode("Content-Length: ", $responseHead);
      $list2 = explode("Connection", $list1[1]);
      $list = explode("x", $list2[0]);
      return $list[0];
    }
    //获取视频重定向后的链接
    function locationUrl($url){
      $url_parts = @parse_url($url);
      if (!$url_parts) return false;
      if (!isset($url_parts['host'])) return false;
      if (!isset($url_parts['path'])) $url_parts['path'] = '/';
      $sock = fsockopen($url_parts['host'], (isset($url_parts['port']) ? (int)$url_parts['port'] : '80'), $errno, $errstr, 30);
      if (!$sock) return false;
      $request = "HEAD " . $url_parts['path'] . (isset($url_parts['query']) ? '?'.$url_parts['query'] : '') . " HTTP/1.1\r\n";
      $request .= 'Host: ' . $url_parts['host'] . "\r\n";
      $request .= "Connection: Close\r\n\r\n";
      fwrite($sock, $request);
      $response = '';
      while(!feof($sock)) {
        $response .= fread($sock, 8192);
      }
      fclose($sock);
      if (preg_match('/^Location: (.+?)$/m', $response, $matches)){
        if ( substr($matches[1], 0, 1) == "/" ){
          return $url_parts['scheme'] . "://" . $url_parts['host'] . trim($matches[1]);
        }
        else{
          return trim($matches[1]);
        }
      } else {
        return false;
      }
    }
    //审核视频 curl
    function get_data($url){
      $oCurl = curl_init();
      //模拟浏览器
      $header[] = "deo.com";
      $user_agent = "Mozilla/4.0 (Linux; Andro 6.0; Nexus 5 Build) AppleWeb/537.36 (KHTML, like Gecko)";
      curl_setopt($oCurl, CURLOPT_URL, $url);
      curl_setopt($oCurl, CURLOPT_HTTPHEADER,$header);
      curl_setopt($oCurl, CURLOPT_HEADER, true);
      curl_setopt($oCurl, CURLOPT_NOBODY, true);
      curl_setopt($oCurl, CURLOPT_USERAGENT,$user_agent);
      curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );
      // 不用 POST 方式请求, 意思就是通过 GET 请求
      curl_setopt($oCurl, CURLOPT_POST, false);
      $sContent = curl_exec($oCurl);
      // 获得响应结果里的:头大小
      $headerSize = curl_getinfo($oCurl, CURLINFO_HEADER_SIZE);
      // 根据头大小去获取头信息内容
      $header = substr($sContent, 0, $headerSize);
      curl_close($oCurl);
      return $header;
    }

    总结

    以上所述是小编给大家介绍的PHP 获取视频时长的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • PHP编程获取音频文件时长的方法【基于getid3类】
    • 解析用PHP读写音频文件信息的详解(支持WMA和MP3)
    • PHP获取音频文件的相关信息
    • php利用ffmpeg提取视频中音频与视频画面的方法详解
    • Thinkphp5框架实现图片、音频和视频文件的上传功能详解
    • PHP基于ffmpeg实现转换视频,截图及生成缩略图的方法
    • php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
    • php截取视频指定帧为图片
    • PHP从FLV文件获取视频预览图的方法
    • PHP getID3类的使用方法学习笔记【附getID3源码下载】
    上一篇:Django中datetime的处理方法(strftime/strptime)
    下一篇:php redis 处理websocket聊天记录的实例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP 获取视频时长的实例代码 PHP,获取,视频,时,长的,实例,