代码语言: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遍历里面去.看看里面是否是目录
切记:获取文件或者目录
dir . ‘/*’); $file所有文件排在前面。然后才是目录