<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP實現獲取FLV文件的時間

            時間:2025-04-09 03:22:34 php語言 我要投稿
            • 相關推薦

            PHP實現獲取FLV文件的時間

              主要介紹了PHP實現獲取FLV文件的時間,本文直接給出實現代碼和使用方法,需要的朋友可以參考下。

            PHP實現獲取FLV文件的時間

              PHP如何獲取FLV文件時間呢,答案是fopen文件后查看FLV文件是HEX數據,并轉換為number。

              復制代碼 代碼如下:

              <?php

              functionBigEndian2Int($byte_word,$signed=false)

              {

              $int_value    =0;

              $byte_wordlen=strlen($byte_word);

              for($i=0;$i<$byte_wordlen;$i++){

              $int_value+=ord($byte_word{$i})*pow(256,($byte_wordlen-1-$i));

              }

              if($signed){

              $sign_mask_bit=0x80<<(8*($byte_wordlen-1));

              if($int_value&$sign_mask_bit){

              $int_value=0-($int_value&($sign_mask_bit-1));

              }

              }

              return$int_value;

              }

              functiongetTime($name)

              {

              if(!file_exists($name)){

              return;

              }

              $flv_data_length=filesize($name);

              $fp              =@fopen($name,'rb');

              $flv_header      =fread($fp,5);

              fseek($fp,5,SEEK_SET);

              $frame_size_data_length  =BigEndian2Int(fread($fp,4));

              $flv_header_frame_length=9;

              if($frame_size_data_length>$flv_header_frame_length){

              fseek($fp,$frame_size_data_length-$flv_header_frame_length,SEEK_CUR);

              }

              $duration=0;

              while((ftell($fp)+1)<$flv_data_length){

              $this_tag_header=fread($fp,16);

              $data_length     =BigEndian2Int(substr($this_tag_header,5,3));

              $timestamp       =BigEndian2Int(substr($this_tag_header,8,3));

              $next_offset     =ftell($fp)-1+$data_length;

              if($timestamp>$duration){

              $duration=$timestamp;

              }

              fseek($fp,$next_offset,SEEK_SET);

              }

              fclose($fp);

              return$duration;

              }

              functionget_flv_file_time($time)

              {

              $time=getTime($time);

              $num=$time;

              $sec=intval($num/1000);

              $h   =intval($sec/3600);

              $m   =intval(($sec%3600)/60);

              $s   =intval(($sec%60));

              $tm  =$h.':'.$m.':'.$s;

              return$tm;

              }

              ?>

              直接使用get_flv_file_time(“你的FLV.flv”)即可。

            【PHP實現獲取FLV文件的時間】相關文章:

            用PHP讀取flv文件的播放時間長度05-16

            PHP實現獲取域名的方法小結02-03

            PHP獲取文件名稱的方法07-05

            PHP實現文件上傳和多文件上傳07-31

            php實現通過ftp上傳文件07-07

            PHP文件鎖與進程鎖的實現08-07

            php實現簡單文件下載的方法07-24

            jQuery Mobile + PHP實現文件上傳03-20

            如何使用php獲取excel文件數據06-03

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看