PHP Conference Japan 2024

GlobIterator::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

GlobIterator::count获取目录和文件数量

描述

public GlobIterator::count(): int

获取通过 glob 表达式找到的目录和文件数量。

参数

此函数没有参数。

返回值

返回的目录和文件数量,作为 int

示例

示例 #1 GlobIterator::count() 示例

<?php
$iterator
= new GlobIterator('*.xml');

printf("匹配到 %d 个项目\r\n", $iterator->count());
?>

以上示例将输出类似以下内容

Matched 8 item(s)

参见

添加注释

用户贡献的注释 1 条注释

TwystO
8 年前
https://bugs.php.net/bug.php?id=55701 中所述,count() 方法可能导致错误。

例如,如果在目标目录中找不到任何文件,则以下代码将无法正常工作

<?php
$iterator
= new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME);

if(
$iterator->count()) {
foreach(
$iterator as $filePath) {
// 执行某些操作 ...
}
}
?>

解决此错误的变通方法可能是

<?php
foreach(new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME) as $filePath) {
// 执行某些操作 ...
}
?>
To Top