From: Vincent Vanwaelscappel Date: Wed, 22 Mar 2023 17:16:53 +0000 (+0100) Subject: wip #5817 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=64323281a1250182f95e7187d13ad15239ff37a7;p=cubist_util.git wip #5817 --- diff --git a/src/Files/Files.php b/src/Files/Files.php index 1a124de..5b487d4 100644 --- a/src/Files/Files.php +++ b/src/Files/Files.php @@ -366,5 +366,28 @@ class Files return implode('/', $r); } + /** + * @param $path + * @param $recursive + * @param $countDirectories + * @return int + */ + public static function count($path, $recursive = true, $countDirectories = false) + { + $res = 0; + if ($recursive) { + $it = new RecursiveDirectoryIterator($path); + } else { + $it = new \DirectoryIterator($path); + } + foreach ($it as $item) { + /** @var $item \SplFileInfo */ + if (!$countDirectories && !$item->isFile()) { + continue; + } + $res++; + } + return $res; + } } \ No newline at end of file diff --git a/src/Files/RecursiveDirectoryIterator.php b/src/Files/RecursiveDirectoryIterator.php index b9ab558..5626416 100644 --- a/src/Files/RecursiveDirectoryIterator.php +++ b/src/Files/RecursiveDirectoryIterator.php @@ -1,6 +1,8 @@ _exclude = $exclude;