在 PHP 中计算目录中的文件
编程中的一个常见任务是确定特定目录中的文件数量。 PHP 提供了多种方法来实现此目的,我们将在这里探讨两种方法。
方法 1:使用 scandir 函数
scandir 函数扫描目录的内容并返回文件和目录名称的数组。要仅计算文件,您可以过滤掉当前目录条目和父目录条目(. 和 ..),如下所示:
<code class="php">$dir = "uploads/"; $files = array_filter(scandir($dir), function ($file) { return !in_array($file, ['.', '..']) && !is_dir($file); }); echo "There were " . count($files) . " files";</code>
方法 2:使用 FilesystemIterator 类
FilesystemIterator 类提供了一种更高效、面向对象的方式来迭代目录。通过跳过当前目录和父目录,您可以直接计算文件数量:
<code class="php">$dir = __DIR__; $fi = new FilesystemIterator($dir, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
这两种方法都可以有效地计算目录中的文件数量,其中 FilesystemIterator 类的效率稍高一些。根据您的喜好和项目的要求选择合适的方法。
以上是如何在 PHP 中计算目录中的文件数?的详细内容。更多信息请关注PHP中文网其他相关文章!