2017-02-16 90 views
0

我想在根目錄下的目錄中找到所有的html文件,我有一個所有目錄中的數組,並且我試圖通過數組中的每個目錄循環查找文件並創建一個列表,但它不工作,有什麼想法?php目錄中的html文件

$dirs = glob("/Root_directory*", GLOB_ONLYDIR); 

foreach($dirs as $dir) { 
    $phpfiles = glob($dir . "*.html"); 

    foreach($phpfiles as $phpfile) { 
     echo "<a href=$phpfile>".basename($phpfile)."</a>"; 
    } 
} 

我也想盡了辦法建議here使用遞歸,這給了一個空數組

$Directory = new RecursiveDirectoryIterator('path/to/project/'); 
$Iterator = new RecursiveIteratorIterator($Directory); 
$Regex = new RegexIterator($Iterator, '/^.+\.php$/i', RecursiveRegexIterator::GET_MATCH); 
+2

「它不工作」不是一個非常明顯的問題。你能解釋一下你期望你的代碼做什麼以及它做了什麼嗎? –

+0

我期待它能夠在主目錄內的每個目錄中生成所有html文件的超鏈接,但是當php代碼運行時它不會產生任何內容 –

+0

此外,對於這類問題,您應該查看遞歸編程。 https://en.wikipedia.org/wiki/Recursion_(computer_science) – Twinfriends

回答

0

這是很多擺弄之後,工程的遞歸方法。

$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path),  RecursiveIteratorIterator::SELF_FIRST); 
$Regex = new RegexIterator($objects, '/^.+\.html$/i', RecursiveRegexIterator::GET_MATCH); 
foreach($Regex as $name => $Rege){ 
echo "<a href=$name>".$name."</a> \n"; 
}