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