private function rmdir($dir)
{
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::CHILD_FIRST);
foreach ($iterator as $file) {
$name = $file->getPathname();
if (substr($name, -1) === '.') {
continue;
}
if ($file->isDir()) {
// Remove dir
rmdir($name);
} else {
// Remove file
unlink($name);
}
}
// Remove the directory itself
rmdir($dir);
}