protected function buildTree(\DirectoryIterator $it)
{
$result = array();
foreach ($it as $key => $child) {
if ($child->isDot()) {
continue;
}
$name = $child->getBasename();
if ($child->isDir()) {
$subit = new \DirectoryIterator($child->getPathname());
$result[DIRECTORY_SEPARATOR . $name] = $this->buildTree($subit);
} else {
$result[] = $name;
}
}
return $result;
}