fix recursion on rmdirr
This commit is contained in:
parent
65e4348080
commit
f83821c388
|
@ -405,15 +405,19 @@ class OC_Helper {
|
|||
*/
|
||||
static function rmdirr($dir) {
|
||||
if (is_dir($dir)) {
|
||||
$files = scandir($dir);
|
||||
// FIXME: use flat array instead of recursion to avoid
|
||||
// too many levels
|
||||
foreach ($files as $file) {
|
||||
if ($file !== '' && $file !== "." && $file !== "..") {
|
||||
self::rmdirr("$dir/$file");
|
||||
$files = new RecursiveIteratorIterator(
|
||||
new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS),
|
||||
RecursiveIteratorIterator::CHILD_FIRST
|
||||
);
|
||||
|
||||
foreach ($files as $fileInfo) {
|
||||
/** @var FilesystemIterator $fileInfo */
|
||||
if ($fileInfo->isDir()) {
|
||||
rmdir($fileInfo->getRealPath());
|
||||
} else {
|
||||
unlink($fileInfo->getRealPath());
|
||||
}
|
||||
}
|
||||
rmdir($dir);
|
||||
} elseif (file_exists($dir)) {
|
||||
unlink($dir);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue