比较许多大文件时,PHP is_dir函数太慢了

时间:2018-05-23 01:50:11

标签: php function filesize

我有一个包含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);

0 个答案:

没有答案