计算 PHP 目录中有多少个文件

2022-08-30 07:04:35

我正在做一个稍微新的项目。我想知道某个目录中有多少个文件。

<div id="header">
<?php 
    $dir = opendir('uploads/'); # This is the directory it will count from
    $i = 0; # Integer starts at 0 before counting

    # While false is not equal to the filedirectory
    while (false !== ($file = readdir($dir))) { 
        if (!in_array($file, array('.', '..') and !is_dir($file)) $i++;
    }

    echo "There were $i files"; # Prints out how many were in the directory
?>
</div>

这就是我到目前为止(从搜索)所拥有的。但是,它没有正确显示?我已经添加了一些注释,因此请随时删除它们,它们只是为了让我尽可能地理解它。

如果您需要更多信息或觉得我描述得不够多,请随时说明。


答案 1

您只需执行以下操作:

$fi = new FilesystemIterator(__DIR__, FilesystemIterator::SKIP_DOTS);
printf("There were %d Files", iterator_count($fi));

答案 2

您可以像这样获取文件计数:

$directory = "/path/to/dir/";
$filecount = count(glob($directory . "*"));
echo "There were $filecount files";

其中,如果您愿意,可以将其更改为特定的文件类型,也可以执行多种文件类型,如下所示:"*""*.jpg"

glob($directory . "*.{jpg,png,gif}",GLOB_BRACE)

标志展开 {a,b,c} 以匹配“a”、“b”或“c”GLOB_BRACE

请注意,跳过 Linux 隐藏文件,或名称以点开头的所有文件,即 .glob().htaccess


推荐