0) echo " and $RecurseLevel levels below"; echo '
'; if(!isset($FollowSymlinks)) $FollowSymlinks=false; if(!isset($Except)) $Except=''; $Except=explode(',', $Except); $DirList = FileDirPerm($StartFolder, $RecurseLevel, $FollowSymlinks); // count directories for each perm value.. $PermCount=array(); foreach($DirList as $FolderName=>$PermValue) { if(isset($PermCount[$PermValue])) { $PermCount[$PermValue]++; } else { $PermCount[$PermValue]=1; } } // show the results.. echo '
';
foreach($PermCount as $Perm=>$Count)
    { echo "$Perm ... $Count directories\r\n"; }
echo "\r\n\r\n";
if($ShowList)
    {
    foreach($DirList as $Dirname=>$Perm)
        { if(!in_array($Perm, $Except)) echo "$Perm  $Dirname\r\n"; }
    }
echo '
'; exit; // from twzInc =============================================================================================== function FileDirPerm($FolderName, $RecurseLevel=999, $FollowSymlinks=false, $ThisLevel=0) { if(substr($FolderName,-1)<>'/') $FolderName.='/'; if($ThisLevel<=0) $ThisLevel=0; $DirList=array(); if (@$handle = opendir($FolderName)) { while (false !== ($Filename=readdir($handle))) { $DirList[$FolderName]=substr(decoct(fileperms($FolderName)), -3); if ($Filename != "." and $Filename != "..") { if(is_dir($FolderName.$Filename) and $ThisLevel<$RecurseLevel and ($FollowSymlinks or !is_link($FolderName.$Filename))) { $DirList=array_merge($DirList, call_user_func(__FUNCTION__, ($FolderName.$Filename), $RecurseLevel, $FollowSymlinks, ($ThisLevel+1))); } } } closedir($handle); } return $DirList; } ?>