获取多维数组的全部子元素 获取所有文件 获取所有目录

2024-02-26 08:48:10 浏览数 (1)

代码语言:javascript复制
<?php
/*$arr=[1,2,3,[1,2,3,4,5,6]];
print_r(count($arr,1));*/
/*$dir = "F:/cyg";
$count = 0;

function dgfiles($dir)
{
    global $count;
    $files = glob($dir . '/*');

    foreach ($files as $file) {
		  if ($file == '.' || $file == '..') {
		            continue;
		        }
        if (is_file($file)) {
            $count  ;
        } else {
            dgfiles($file);
        }
    }
}

dgfiles($dir);

echo $count;*/
$dir = "F:/cyg";
$count = 0;

function dgfiles($dir)
{
    global $count;
    $files = glob($dir . '/*');

    foreach ($files as $file) {
		  if ($file == '.' || $file == '..') {
		            continue;
		        }
        if (is_dir($file)) {
            $count  ;
        
            dgfiles($file);
			}
        
    }
}

dgfiles($dir);

echo $count;

核心思路:

if ($file == ‘.’ || $file == ‘…’) {

continue;

}

用于判断当前遍历到的文件或目录是否是当前目录(.)或上级目录(…)。continue就行了。

count($arr,1);代表获取所有的子元素.后面加1

获取所有文件:如果是文件就 1.如果是目录递归遍历里面去。看看里面是否是文件.

获取所有目录:如果是目录 1遍历里面去.看看里面是否是目录

切记:获取文件或者目录

files = glob(

dir . ‘/*’); $file所有文件排在前面。然后才是目录

0 人点赞