php递归获取当前目录下的二级目录数和文件数
作者:野牛程序员:2024-07-02 11:30:24php阅读 2418
php递归获取当前目录下的二级目录数和文件数
在PHP中,可以使用递归函数来获取当前目录下的二级目录数和文件数。以下是一个示例代码:
<?php function getDirectoryAndFileCount($dir) { $directoryCount = 0; $fileCount = 0; // 打开目录 if ($handle = opendir($dir)) { // 遍历目录中的文件和文件夹 while (false !== ($entry = readdir($handle))) { if ($entry != "." && $entry != "..") { $path = $dir . DIRECTORY_SEPARATOR . $entry; // 判断是否为目录 if (is_dir($path)) { $directoryCount++; // 递归获取子目录中的文件和目录数 list($subDirCount, $subFileCount) = getDirectoryAndFileCount($path); $directoryCount += $subDirCount; $fileCount += $subFileCount; } else { $fileCount++; } } } // 关闭目录 closedir($handle); } return [$directoryCount, $fileCount]; } // 获取当前目录下的二级目录和文件数 $currentDir = '.'; list($directoryCount, $fileCount) = getDirectoryAndFileCount($currentDir); // 输出结果 echo "目录数: $directoryCount<br>"; echo "文件数: $fileCount<br>"; ?>
代码说明:
getDirectoryAndFileCount
函数接受一个参数$dir
,表示要遍历的目录路径。初始化
$directoryCount
和$fileCount
为0,用于记录目录和文件的数量。使用
opendir
函数打开目录。使用
readdir
函数遍历目录中的文件和文件夹。使用
is_dir
函数判断是否为目录,如果是,则递归调用getDirectoryAndFileCount
函数获取子目录中的文件和目录数,并将结果累加。如果是文件,则直接增加
$fileCount
。使用
closedir
函数关闭目录。最后返回目录数和文件数的数组。
调用
getDirectoryAndFileCount
函数并传入当前目录'.'
,获取二级目录和文件数。输出结果。
运行上述代码,将显示当前目录及其子目录中的所有目录数和文件数。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:php显示文件目录及路径
- 下一篇:C++中的max函数:用法、技巧与注意事项