2011-05-13 170 views
0

我想使用RecursiveIteratorIterator來顯示「頂級目錄」,在我的示例佈局和puffar,但我不能得到它的工作。結構如下:刪除重複項RecursiveIteratorIterator

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

,其結果是

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(); 
    } 

,我不能去工作,另一件事是,如果我改變

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

目錄路徑是不顯示任何東西 如果有人能幫助我,那將是一種幻想。謝謝linda

回答

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?