我有一个包含600多个mp4文件的目录和一些目录。我试图循环文件,并确定该文件是否是一个目录,并获取文件大小。问题是当获取大文件(> 2GB)的此信息时,is_dir和filesize需要花费很长时间。有没有一种有效的方法来做到这一点?在我的示例代码中,我已经注释掉了filesize和is_dir,然后我在几秒钟内恢复了数组。否则它需要永远。
$files=array();
$directory=opendir($dir);
while ($file = readdir($directory)) {
if($file != "." && $file != ".." && $file != '$RECYCLE.BIN'){
$rec=array(
'afile'=>"{$dir}/{$file}",
'name'=>$file
);
//if(is_dir($rec['afile'])){$rec['type']='dir';}
//else{$rec['type']='file';}
//$rec['size']=filesize($rec['afile']);
$files[]=$rec;
}
}
closedir($directory);