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

首頁 > 開發 > PHP > 正文

PHP實現獲取FLV文件的時間

2024-05-04 21:54:43
字體:
來源:轉載
供稿:網友

 這篇文章主要介紹了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”)即可。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高唐县| 临洮县| 陕西省| 巴中市| 读书| 敦化市| 于都县| 绥棱县| 色达县| 积石山| 西盟| 辽宁省| 同江市| 太仆寺旗| 桃源县| 涿鹿县| 黔西县| 邵阳县| 东乌珠穆沁旗| 舞钢市| 左权县| 凤翔县| 东乌珠穆沁旗| 高唐县| 钟山县| 山阳县| 景宁| 武川县| 嘉定区| 黄梅县| 恭城| 小金县| 武城县| 桦川县| 腾冲县| 土默特左旗| 越西县| 丁青县| 闵行区| 淮安市| 扬中市|