📜  计算文件夹中的文件 php (1)

📅  最后修改于: 2023-12-03 15:12:03.028000             🧑  作者: Mango

计算文件夹中的文件 PHP

如果您需要计算给定文件夹中的文件数量,可以使用以下PHP代码:

$dir = '/path/to/directory';
$filecount = 0;
if ($handle = opendir($dir)) {
  while (false !== ($file = readdir($handle))) {
    if ($file != "." && $file != ".." && !is_dir($dir.'/'.$file))
        $filecount++;
  }
  closedir($handle);
}
echo "There are $filecount files in $dir";

这段代码将打开指定的目录,读取其中所有的文件,不计算子目录中的文件数量。在 while 循环中,对每个文件进行处理,并且使用 $filecount 变量简单地计数。最终,代码将输出文件数量和目录名称。

如果需要计算给定目录中子目录中的所有文件数量,可以使用递归。以下是递归版本的代码:

function count_files($dir) {
  $filecount = 0;
  $dircount = 0;
  if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
      if ($file != "." && $file != "..") {
        if (is_dir($dir.'/'.$file)) {
          $dircount++;
          $filecount += count_files($dir.'/'.$file);
        } else {
          $filecount++;
        }
      }
    }
    closedir($handle);
  }
  echo "There are $filecount files and $dircount directories in $dir";
  return $filecount;
}

该代码使用与上面相同的技术来计数文件,同时使用递归方法在子目录中重复此操作。注意,在每次递归中,该函数将返回该子目录中的文件数,以便所有可用的文件数得以计算。

在需要使用文件总数的其他部分中,可以简单地调用函数:

$filecount = count_files('/path/to/directory');
echo "There are $filecount files in the directory.";

该代码将使用 count_files 函数计算文件和子目录数,并将文件计数返回到 $filecount 变量中。最后,代码将输出文件数。

以上是计算文件夹中文件数量的PHP代码,希望对你有所帮助!