欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2009年09月03日 00:20:52   作者:  
用PHP讀取flv文件的播放時間長度的代碼,需要用的朋友可以參考下。
復(fù)制代碼 代碼如下:

<?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;
}
?>

相關(guān)文章

  • Discuz 模板引擎的封裝類代碼

    Discuz 模板引擎的封裝類代碼

    需要使用Discuz的模板引擎,于是周未抽了點時間幫忙做了個封裝,測試了一下,速度還不錯。順便也拿來用到自己的程序中使用,歡迎大家下載并提出意見
    2008-07-07
  • 淺談PHP中類和對象的相關(guān)函數(shù)

    淺談PHP中類和對象的相關(guān)函數(shù)

    下面小編就為大家?guī)硪黄獪\談PHP中類和對象的相關(guān)函數(shù)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • php操作xml入門之xml基本介紹及xml標簽元素

    php操作xml入門之xml基本介紹及xml標簽元素

    這篇文章主要介紹了php操作xml入門之xml基本介紹及xml標簽元素,實例分析了XML的組成、規(guī)范與用法,需要的朋友可以參考下
    2015-01-01
  • php的curl實現(xiàn)get和post的代碼

    php的curl實現(xiàn)get和post的代碼

    類似于dreamhost這類主機服務(wù)商,是顯示fopen的使用的。使用php的curl可以實現(xiàn)支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。
    2008-08-08
  • PHP中static關(guān)鍵字原理的學(xué)習(xí)研究分析

    PHP中static關(guān)鍵字原理的學(xué)習(xí)研究分析

    PHP中static關(guān)鍵字原理的學(xué)習(xí)研究分析,學(xué)習(xí)php的朋友可以參考下。
    2011-07-07
  • 深入研究PHP中的preg_replace和代碼執(zhí)行

    深入研究PHP中的preg_replace和代碼執(zhí)行

    這篇文章主要給大家介紹了關(guān)于PHP中preg_replace和代碼執(zhí)行的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • 如何使用SublimeText3配置 PHP IDE環(huán)境

    如何使用SublimeText3配置 PHP IDE環(huán)境

    這篇文章主要介紹了如何使用SublimeText3配置 PHP IDE環(huán)境,并使用Xdebug進行調(diào)試,喜歡使用SublimeText的同學(xué),可以參考下
    2021-04-04
  • 使用 eAccelerator加速PHP代碼的目的

    使用 eAccelerator加速PHP代碼的目的

    使用 eAccelerator加速PHP代碼的目的...
    2007-03-03
  • PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計》之五 簡化函數(shù)調(diào)用

    PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計》之五 簡化函數(shù)調(diào)用

    前幾篇系列文章,我比較關(guān)注的是 PHP 雜談《重構(gòu)-改善既有代碼的設(shè)計》之一 重新組織你的函數(shù) 但是我覺得我還是沒有說清楚,我自己也有很多不理解的地方,而且這篇是我的第一篇這方面的文章,有很多的紕漏,所以我會經(jīng)常性的去做修改,如果大家有好的意見不妨告知一、二
    2012-05-05
  • php+ajax實現(xiàn)文章自動保存的方法

    php+ajax實現(xiàn)文章自動保存的方法

    這篇文章主要介紹了php+ajax實現(xiàn)文章自動保存的方法,可實現(xiàn)文章內(nèi)容的實時保存,防止突發(fā)情況下的數(shù)據(jù)丟失,是非常實用的技巧,需要的朋友可以參考下
    2014-12-12

最新評論