From 64323281a1250182f95e7187d13ad15239ff37a7 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Wed, 22 Mar 2023 18:16:53 +0100 Subject: [PATCH] wip #5817 --- src/Files/Files.php | 23 +++++++++++++++++++++++ src/Files/RecursiveDirectoryIterator.php | 4 +++- 2 files changed, 26 insertions(+), 1 deletion(-) 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; -- 2.39.5