2012-05-03 2 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