国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP實現獲取FLV文件的時間

2024-05-04 23:31:09
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了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”)即可。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 松滋市| 郑州市| 大悟县| 万源市| 古交市| 铁岭市| 张家川| 罗城| 梨树县| 五寨县| 怀仁县| 叶城县| 桓台县| 忻州市| 漯河市| 阿尔山市| 布尔津县| 通化市| 吉安县| 隆昌县| 东乌| 靖远县| 济源市| 旺苍县| 遵义市| 天水市| 奇台县| 达孜县| 大厂| 红原县| 新丰县| 抚州市| 原平市| 左贡县| 常熟市| 湾仔区| 阳江市| 安平县| 平和县| 绵阳市| 门头沟区|