如何计算文件所在的子目录数量?

时间:2012-03-15 18:06:21

标签: php path directory subdirectory

我有一个名为count.php的文件。

这是存储count.php的地方(绝对路径):

/home/content/61/7475161/html/wordpress/project/folder1/folder2/folder3/folder4/count.php

我需要一种方法来计算路径中涉及文件夹project的子文件夹数量。

所以在上面的例子中,它的四个。我想出了一个方法:

$pathtofile=dirname(__FILE__);

$path_array=explode("/",$pathtofile);

$f_stat=false;
$num_folders=0;

foreach ($path_array as $folder){

if($f_stat===false){

if($folder=="project"){$f_stat=true}

}//end of f_stat false

else{
$num_folders++;
}//end of else

}//end of foreach
//now $num_folders will equal 4 xD

我认为这不是最好的方法,所以任何建议都会很棒。谢谢!

3 个答案:

答案 0 :(得分:2)

只需使用/project执行strstr并在爆炸后计算数组元素,如下所示:

$path_array=explode('/',strstr($pathtofile, '/project'));
$depth = count($path_array)-1;

答案 1 :(得分:1)

echo (substr_count('/',$path) - 7); //> Subtract the number of main dir

答案 2 :(得分:0)

 $dir=glob(directoryname."/*",GLOB_ONLYDIR);

$dir return an array,其中包含文件夹中的所有子文件夹。