例如: 我有一个项目目录。 在那3个子目录中。 在那3个子目录中每个文本文件。
现在我正在使用scandir()来查找有多少文件和文件。该项目中存在的指令。但scandir()只扫描1级意味着它不扫描子目录如何扫描它们。
答案 0 :(得分:1)
如果您使用的是命令行,则可以使用find和wc。
递归计算所有文件:
find . -type f | wc -l
查找目录计数:
find . -type d | wc -l
+++++++++++++++++++++++++++++
-type f = file
-type d =目录
wc =打印换行符,字或字节计数,其中带有参数-l以提供行计数
如果你指的是在PHP中使用scandir,你可以尝试这样的事情:
<?php
function dirToArray($dir) {
$result = array();
$cdir = scandir($dir);
foreach ($cdir as $key => $value)
{
if (!in_array($value,array(".","..")))
{
if (is_dir($dir . DIRECTORY_SEPARATOR . $value))
{
$result[$value] = dirToArray($dir . DIRECTORY_SEPARATOR . $value);
}
else
{
$result[] = $value;
}
}
}
return $result;
}
?>