如何有效地确定PHP中目录的目录数量?确定目录中的目录数量
例如,可以说我有这样的结构:
/Directory/ -->
... /Directory 1/
... /Directory 2/
... /Directory 3/
... File.txt
... Filed2.txt
将是伟大的知道,他们的3个目录,从而不包括当前或文件本身。
如何有效地确定PHP中目录的目录数量?确定目录中的目录数量
例如,可以说我有这样的结构:
/Directory/ -->
... /Directory 1/
... /Directory 2/
... /Directory 3/
... File.txt
... Filed2.txt
将是伟大的知道,他们的3个目录,从而不包括当前或文件本身。
$path = 'Directory';
echo (count (glob("$path/*", GLOB_ONLYDIR)));
快速且容易记忆。但是,这会计算目录本身中的目录,还是只从主目录中进入一步? – Shaz
它应该统计给定路径中的目录 –
此代码将做到这一点:
$count = -2; // Subtract 2 for directories "." and ".."
$dh = opendir('path/to/dir');
while (false !== ($filename = readdir($dh)))
if(is_dir($filename))
$count++;
原因分配$count
值-2
是考虑到当前目录的父目录。这将包括隐藏的所有目录。如果您不想在Linux系统上隐藏,只需检查第一个字符是否使用false !== strpos($filename, '.')
即.
,并将$count
初始化为0
而不是-2
。
扫描目录并使用'is_dir()' –