Re: RecursiveDirectoryIterator and foreach

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 23, 2009 at 10:27 AM, Ryan Panning <rpanning@xxxxxxxxx> wrote:

> Nathan Nobbe wrote:
>
>> if youre trying to do recursive iteration whereby you 'flatten' the tree
>> structure, drop the RecursiveDirectoryIterator into a
>> RecursiveIteratorIterator (its for iterating over RecursiveIterators),
>> then
>> you dont have to bother w/ calling hasChildren() at all.  you probly also
>> want to look at the constructor args, since by default, it only returns
>> leaf
>> nodes.
>>
>> $dir = new RecursiveDirectoryIterator('/path/to/dir');
>>
>> $itt = new RecursiveIteratorIterator($dir,
>> RecursiveIteratorIterator::CHILD_FIRST);
>>
>>  foreach ($itt as $item) {
>>>   print get_class($item) . "\r\n";
>>> }
>>>
>>
>>
>> -nathan
>
>
im not sure i fully understand the problem, but from the sound of it, as a
work-around, why not something like this,

$dirIt = new RecursiveDirectoryIterator($path);
foreach($dirIt as $item) {
  if($item->isDir()) {
    $subdir = new RecursiveDirectoryIterator($item);
    // now you have the RecursiveDirectoryIterator you wanted ??
  }
}

-nathan

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux