php getid3 获取视频时长及详细信息

开发环境:windows  phpstudy

以下代码限制:中文目录问题文件名问题

1:获取目录下所有文件(这里我的文件夹下都是视频   如果有不是的请自行过滤)如果有更好或者特殊业务可以自己写获取文件目录和下面的主要操作不冲突

#遍历目录下的所有文件和文件夹
function finddir($dir){
	$files = array();
	if(is_dir($dir)){
		if($handle = opendir($dir)){
			while(($file = readdir($handle)) !== false){
				if($file != '.' && $file != '..'){ 
					if(is_dir(rtrim($dir, '/').'/'.$file)){
						$files[$file] = finddir(rtrim($dir, '/').'/'.$file);
					}else{
						$filename = rtrim($dir, '/').'/'.$file;
						#这里本来是为了转码中文文件名问题 但没什么效果可以忽略
						#$strcode = mb_detect_encoding($filename, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
						#$filename = iconv($strcode,"UTF-8",$filename);
						$files[] = $filename;
					}
				}
			}
			closedir($handle);
		}
	}
	return $files;
}

2:使用getid3获取视频的详细信息  源文件下载地址:https://github.com/JamesHeinrich/getID3   为了方便留备份已备份到csdn上

$fileurl = finddir('./redis');

$seconds = 0;
require_once('./getid3/getid3.php');

foreach($fileurl as $v){

    $getID3 = new getID3();
    $fileinfo = $getID3->analyze($v);

    $playtime_seconds = $fileinfo['playtime_seconds'];
    $seconds += $playtime_seconds;
}

echo "该文件夹下视频时长为:".$seconds.'s';

die;

 

你可能感兴趣的:(php,php)