RecursiveIteratorIterator Пустая страница - PullRequest
0 голосов
/ 22 августа 2011

Я пытаюсь использовать RecursiveIteratorIterator и RecursiveDirectoryIterator.

Я хочу получить все файлы в моей папке c:\. Но я не знаю, почему я не могу получить результат, кроме пустой страницы.

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('c:/' ));
foreach( $it as $file ) {
    $all[] = $file->getRealPath();
}
print_r($all);

но если я использую этот код, он работает

foreach( $it as $key=>$file )
{
    echo $key."=>".$file."\n";
}

Ответы [ 2 ]

3 голосов
/ 22 августа 2011

Скорее всего, потому что ваш интерпретатор PHP не имеет доступа к этой папке.

2 голосов
/ 22 августа 2011

Это потому, что класс PHPs StdObj нельзя использовать в качестве массива, потому что это ассоциативный массив.Это неправильно по словам, но я не могу описать это лучше.Объект PHP преобразуется или что-то в этом роде.

Если $data является объектом, это необходимо, если вы хотите получить доступ к $value как объекту.

foreach($data as $property => $value){
    echo $value->r;
}

Редактировать:Это хороший вопрос, кстати, я потратил пару часов на то, чтобы понять это.

...