RecursiveIteratorIterator空白页面

时间:2011-08-22 10:53:42

标签: php spl

我正在尝试使用RecursiveIteratorIteratorRecursiveDirectoryIterator

我想在我的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 个答案:

答案 0 :(得分:3)

很可能是因为您的PHP解释器无法访问该文件夹。

答案 1 :(得分:2)

这是因为PHP StdObj - 类不能用作数组,因为它是一个关联数组。这是错误的,但我无法更好地描述。 PHP对象得到了类似的东西。

如果$data是一个对象,那么如果您想要$value作为对象,则需要这样做。

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

编辑:这是一个很好的问题顺便说一句,我花了几个小时自己搞清楚这一点。