我需要在指定的目录中获得JPG文件的总数,包括它的所有子目录.没有子目录.
结构如下:
dir1/
2 files  
   subdir 1/
       8 files
总dir1 = 10个文件
dir2/ 
    5 files  
    subdir 1/ 
        2 files  
    subdir 2/ 
        8 files
总dir2 = 15个文件
我有这个功能,它不能正常工作,因为它只计算最后一个子目录中的文件,总数是实际文件数量的2倍.(如果我在最后一个子目录中有40个文件,则输出80)
public function count_files($path) { 
global $file_count;
$file_count = 0;
$dir = opendir($path);
if (!$dir) return -1;
while ($file = readdir($dir)) :
    if ($file == '.' || $file == '..') continue;
    if (is_dir($path . $file)) :
        $file_count += $this->count_files($path . "/" . $file);
    else :
        $file_count++;
    endif;
endwhile;
closedir($dir);
return $file_count; …Run Code Online (Sandbox Code Playgroud) 我有一个HTML下拉选择菜单,第一个选项被禁用.我想以灰色显示默认禁用选项,但是一旦我选择了另一个值,我希望它显示为蓝色.我怎样才能做到这一点?

我设法让所选选项显示为灰色,可选选项在列表中显示为蓝色.但是一旦选中,禁用和禁用选项都将显示为灰色:
select:not(:checked) {
  color: gray;
}
select option:not(:disabled){
  color: #000098;
}
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的数组
array(
      1=>hello,
      2=>foo,
      3=>192,
      4=>keep characters AND digits like a1e2r5,
);
Run Code Online (Sandbox Code Playgroud)
我想要做的只是删除包含数字的行(3=>192),并返回一个像这样的数组:
array(
      1=>hello,
      2=>foo,
      3=>keep characters AND digits like a1e2r5,
);
Run Code Online (Sandbox Code Playgroud)
我尝试使用array_filter,但没有得到它的工作.有人可以告诉我该怎么办?谢谢
我正在使用这个脚本,但我想指定递归函数的最大深度.我不知道如何使用它,我总是得到一个错误.我该如何在这里使用:: setMaxDepth?
public function countFiles($path)
{ 
global $file_count;
$depth=0;
$ite=new RecursiveDirectoryIterator($path);
$file_count=0;
foreach (new RecursiveIteratorIterator($ite) as $filename=>$cur) :
    $file_count++;
    $files[] = $filename;
endforeach;
return $file_count;
}
Run Code Online (Sandbox Code Playgroud)