使用 PHP 计算目录中的文件
在您的项目中,您希望确定特定目录中的文件数量。让我们深入研究如何使用 PHP 实现此目的。
您最初提供的代码使用 readdir() 函数迭代目录。但是,它不考虑隐藏文件或子目录。为了解决这个问题,您可以使用以下改进的方法:
<code class="php">$dir = opendir('uploads/'); # Directory to count files from $i = 0; # Initialize counter $excludedFiles = ['.', '..']; # Ignore these files # Iterate through the directory while (false !== ($file = readdir($dir))) { if (!in_array($file, $excludedFiles) && !is_dir($file)) { $i++; } } closedir($dir); echo "There were $i files"; # Output the count</code>
通过排除隐藏文件(以“.”开头)和子目录(由 is_dir() 确定),此修改后的代码仅准确地计算常规文件
或者,您可以使用基于 FilesystemIterator 的更简洁的方法:
<code class="php">$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS); printf("There were %d Files", iterator_count($fi));</code>
这里,FilesystemIterator 类会跳过隐藏文件 (.) 和父目录 (.. ),使其成为计算文件的简单解决方案。这两种方法都可以根据您的偏好提供准确且高效的目录内文件计数。
以上是如何使用 PHP 计算目录中的文件数?的详细内容。更多信息请关注PHP中文网其他相关文章!