php递归获取当前目录下的二级目录数和文件数
作者:野牛程序员:2024-07-02 11:30:24php阅读 3126
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函数:用法、技巧与注意事项
