2011-05-13 7 views
0

필자는 예제 레이아웃과 puffar에서 "최상위 디렉토리"를 표시하기 위해 RecursiveIteratorIterator를 사용하려고했지만 작동하지 않습니다.중복 제거 RecursiveIteratorIterator

| images | 
    => layout 
     =>lab 
    => puffar 

그 결과 내가

$directory = 'newsletter.site.se/images'; 

에 디렉토리 경로를 변경하면 내가 일을 얻을 수없는 또 다른 것은 그렇지 않은 것입니다

layout 
layout 
layout 
layout/lab 
layout/lab 
puffar 
puffar 


$directory = 'images'; 

    $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)); 

    while($it->valid()) { 

    if (!$it->isDot()) {  
     echo $it->getSubPath() . "\n";  
    } 

    $it->next(); 
    } 

입니다 : 다음과 같은 구조는 아무것도 표시합니다. 누군가 나를 도울 수 있다면 환상적 일 것입니다. 덕분에 린다

답변

2

정말로 상위 디렉토리를 표시하려면 RecursiveDirectoryIterator가 필요합니까? 대신

당신은 사용할 수 있습니다 : 모든 디렉토리를 원하는 경우

<?php 
foreach (new DirectoryIterator('.') as $entry) { 
    if (!$entry->isDot() && $entry->isDir()) { 
     echo $entry, '<br />'; 
    } 
} 

이 시도 : (예) 두 번째 질문에 대해

<?php 
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.'), RecursiveIteratorIterator::SELF_FIRST); 
foreach ($it as $entry) { 
    if ($entry->isDir()) { 
     echo $entry, '<br />'; 
    } 
} 

을, 당신은 경로가 정확하고 읽을 수 있는지 확인해야 PHP를 위해?