I am trying to understand part of the output I get from this code:
<?php
class DirectoryReader extends DirectoryIterator
{
function __construct($path)
{
parent::__construct($path);
}
function current()
{
return parent::getFileName();
}
function valid()
{
if(parent::valid())
{
if (!parent::isDir())
{
parent::next();
return $this->valid();
}
return TRUE;
}
return FALSE;
}
}
try
{
$it = new DirectoryReader('C:\wamp\www');
while($it->valid())
{
echo $it->current().'<br />';
$it->next();
}
}
catch(Exception $e)
{
echo 'No files Found!<br />';
}
?>
At the code you can see that I pass this path to the constructor: C:\wamp\www
,
What I don't understand: before I can see all the folders the first line is .
, the second is ..
, and then I can see the folder names for example:
.
..
someFolder
someOtherFolder
I know that .
present the current folder and ..
is getting back at the folders hierarchy, but I can't understand why does it print the .
then ..
and then the folders?
I really want to understand the action of this iterator, if can some one please help me understand I will be very thankful.