Method "yii\helpers\base\FileHelper::removeDirectory()" has been added.

This commit is contained in:
Klimov Paul
2013-06-10 20:28:26 +03:00
parent e2f7b99f16
commit ef60ec56a3
2 changed files with 50 additions and 1 deletions

View File

@@ -169,4 +169,26 @@ class FileHelper
}
closedir($handle);
}
/**
* Removes a directory recursively.
* @param string $directory to be deleted recursively.
*/
public static function removeDirectory($directory)
{
$items = glob($directory . DIRECTORY_SEPARATOR . '{,.}*', GLOB_MARK | GLOB_BRACE);
foreach ($items as $item) {
if (basename($item) == '.' || basename($item) == '..') {
continue;
}
if (substr($item, -1) == DIRECTORY_SEPARATOR) {
self::removeDirectory($item);
} else {
unlink($item);
}
}
if (is_dir($directory)) {
rmdir($directory);
}
}
}