2012-05-03 67 views
1

我喜歡在包含子目錄的目錄中獲取所有.less文件。我在php.net找到了這個漂亮的代碼。RecursiveDirectoryIterator + RecursiveIteratorIterator + RegexIterator不能像他們應該那樣工作

我做錯了什麼?有什麼改變?這個例子錯了嗎?它看起來像第一個發現一個.less.bak文件。

$Directory = new RecursiveDirectoryIterator(CHILD_DIR . '/less'); 
$Iterator = new RecursiveIteratorIterator($Directory); 
$Regex = new RegexIterator($Iterator, '/^.+\.less$/i', RecursiveRegexIterator::GET_MATCH); 

print_r($Directory ); 
print_r($Iterator ); 
print_r($Regex ); 

輸出如下:

RecursiveDirectoryIterator Object 
(
    [pathName:SplFileInfo:private] => /var/www/secret/wayne/wp-content/themes/bootgen_child/less/bootgen_layout.less.bak 
    [fileName:SplFileInfo:private] => bootgen_layout.less.bak 
    [glob:DirectoryIterator:private] => 
    [subPathName:RecursiveDirectoryIterator:private] => 
) 
RecursiveIteratorIterator Object 
(
) 
RegexIterator Object 
(
    [replacement] => 
) 

回答

0

註釋不將真相和盤托出這句話

$正則表達式將包含每個PHP文件中的一個索引數組。 。

實際上,你需要遍歷$Regex,爲轉儲不會給你回一個平常陣列

foreach($Regex as $file) { 
    var_dump($file); 
} 
+1

好的,謝謝,我腦子裏想約的東西,因爲第一個只包含一個本辦法。我需要更多的編程經驗 – amy

相關問題