<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

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

    時間:2025-05-16 14:33:54 php語言 我要投稿
    • 相關推薦

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

      代碼如下:

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

      <?php

      // +----------------------------------------------------------------------+

      // | PHP version 4&5 |

      // +----------------------------------------------------------------------+

      // | Copyright (c) 2007 JackieWangjackieit@hotmail.com |

      // +----------------------------------------------------------------------+

      // | This source file's function is to get the time length of flv |

      // | main function getTime param:$name The flv file you want to get |

      // +----------------------------------------------------------------------+

      function BigEndian2Int($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;

      }

      function getTime($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;

      }

      ?>

    【用PHP讀取flv文件的播放時間長度】相關文章:

    PHP實現獲取FLV文件的時間07-27

    用PHP讀取文件的正確方法08-17

    php讀取文件內容的方法09-14

    PHP讀取文件的正確方法09-02

    PHP中讀取大文件的方法11-10

    PHP文件寫入和讀取教程08-06

    PHP中讀取大文件實現方法08-26

    PHP快速讀取大文件的例子10-24

    PHP中讀取大文件實現方法詳解09-23

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