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