2014-04-23 1 views
0

나는 디렉토리 트리에 저장된 문서를 제공하는 PHP 스크립트를 만들고 있습니다.그 안에있는 파일의 내용을 기반으로 폴더를 정렬하는 방법

내 디렉토리 트리는 다음과 같이 다소 같습니다

내가이를 근거로이 디렉토리를 정렬 배열을 생성하고자하는 수를 포함 data.dat라는 파일이 각 subsubfolder

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

번호는 data.dat

나를 도울 수있는 사람은 누구입니까?

+0

당신이 디렉토리 이름에 해당 번호를 사용하여 고려했다 : 여기

은 예입니다? –

+0

이 매우 비슷한 질문이 도움이 될 수 있습니다 : http://stackoverflow.com/questions/14668637/php-sort-directories-by-contents – showdev

+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)); 
관련 문제