如何根据文件夹中的内容对文件夹进行排序

时间:2014-04-23 21:02:46

标签: php sorting directory

我正在使用PHP编写一个脚本,该脚本提供了存储在目录树中的文档。

我的目录树看起来像这样:

* mainfolder1
    + subfolder1
        - subsubfolder1
        - subsubfolder2
    + subfolder2
        - subsubfolder3
        - subsubfolder4

在每个subsubfolder内都有一个名为data.dat的文件,其中包含

我想创建一个数组,根据data.dat

中的数字对这些目录进行排序

任何可以帮助我的人?​​

1 个答案:

答案 0 :(得分:0)

您可以使用RecursiveIteratorIterator课程浏览主目录,然后使用RegexIterator来过滤结果。之后只需按照您想要的方式对数组进行排序。

以下是一个例子:

<?php 

$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.'));
$dataFiles = new RegexIterator($iterator, '/data.dat$/i', RecursiveRegexIterator::GET_MATCH);
$directories = array();

foreach($dataFiles as $name => $object){
    $directories[dirname($name)] = (int) file_get_contents($name);
}

asort($directories);
print_r(array_keys($directories));