У меня есть каталог с более чем 600 mp4-файлами и несколькими каталогами.Я пытаюсь перебрать файлы и определить, является ли файл каталогом или нет, и получить размер файла.Проблема в том, что is_dir и fileize занимают много времени при получении этой информации для больших файлов (> 2 ГБ).Есть ли эффективный способ сделать это?в моем примере кода я закомментировал размер файла и 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);