Add optional parameters to deleteDirectory function

($dir, $ignore = array(), $contentOnly = false)
This commit is contained in:
slawkens 2019-04-13 03:17:01 +02:00
parent 052672402e
commit 6a167e99dc

View File

@ -1032,7 +1032,7 @@ function getTopPlayers($limit = 5) {
return $players;
}
function deleteDirectory($dir) {
function deleteDirectory($dir, $ignore = array(), $contentOnly = false) {
if(!file_exists($dir)) {
return true;
}
@ -1042,15 +1042,19 @@ function deleteDirectory($dir) {
}
foreach(scandir($dir, 0) as $item) {
if($item === '.' || $item === '..') {
if($item === '.' || $item === '..' || in_array($item, $ignore, true)) {
continue;
}
if(!deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) {
if(!in_array($item, $ignore, true) && !deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) {
return false;
}
}
if($contentOnly) {
return true;
}
return rmdir($dir);
}