开发环境: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;