<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人