-1

我正在尝试使用RecursiveIteratorIteratorand 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";
}
4

2 回答 2

3

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

于 2011-08-22T10:56:01.653 回答
2

这是因为 PHPs StdObj-class 不能用作数组,因为它是关联数组。这句话是错误的,但我无法更好地描述它。PHP 对象被强制转换或类似的东西。

如果$data是一个对象,那么如果您想$value作为一个对象访问,这是必需的。

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

编辑:顺便说一句,这是一个很好的问题,我自己花了几个小时来解决这个问题。

于 2011-08-22T11:21:53.557 回答