mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-11 08:19:45 +00:00
backport f5dbbea5f: Utils: added recursiveUnlink()
This commit is contained in:
parent
eaa78fe849
commit
680cdb8e3e
@ -54,6 +54,8 @@ use function gettype;
|
||||
use function hexdec;
|
||||
use function implode;
|
||||
use function is_array;
|
||||
use function is_dir;
|
||||
use function is_file;
|
||||
use function is_object;
|
||||
use function is_readable;
|
||||
use function is_string;
|
||||
@ -72,6 +74,8 @@ use function preg_match_all;
|
||||
use function preg_replace;
|
||||
use function proc_close;
|
||||
use function proc_open;
|
||||
use function rmdir;
|
||||
use function scandir;
|
||||
use function sha1;
|
||||
use function spl_object_hash;
|
||||
use function str_pad;
|
||||
@ -85,11 +89,13 @@ use function strtolower;
|
||||
use function substr;
|
||||
use function sys_get_temp_dir;
|
||||
use function trim;
|
||||
use function unlink;
|
||||
use function xdebug_get_function_stack;
|
||||
use const PHP_EOL;
|
||||
use const PHP_INT_MAX;
|
||||
use const PHP_INT_SIZE;
|
||||
use const PHP_MAXPATHLEN;
|
||||
use const SCANDIR_SORT_NONE;
|
||||
use const STR_PAD_LEFT;
|
||||
use const STR_PAD_RIGHT;
|
||||
|
||||
@ -734,4 +740,22 @@ class Utils{
|
||||
throw new \TypeError("Declaration of callable `" . CallbackType::createFromCallable($subject) . "` must be compatible with `" . $sigType . "`");
|
||||
}
|
||||
}
|
||||
|
||||
public static function recursiveUnlink(string $dir) : void{
|
||||
if(is_dir($dir)){
|
||||
$objects = scandir($dir, SCANDIR_SORT_NONE);
|
||||
foreach($objects as $object){
|
||||
if($object !== "." and $object !== ".."){
|
||||
if(is_dir($dir . "/" . $object)){
|
||||
self::recursiveUnlink($dir . "/" . $object);
|
||||
}else{
|
||||
unlink($dir . "/" . $object);
|
||||
}
|
||||
}
|
||||
}
|
||||
rmdir($dir);
|
||||
}elseif(is_file($dir)){
|
||||
unlink($dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user