GlobIterator::count
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
GlobIterator::count — Get the number of directories and files
说明
Gets the number of directories and files found by the glob expression.
参数
此函数没有参数。
返回值
The number of returned directories and files, as an int.
示例
示例 #1 GlobIterator::count() example
<?php
$iterator = new GlobIterator('*.xml');
printf("Matched %d item(s)\r\n", $iterator->count());
?>
以上示例的输出类似于:
Matched 8 item(s)
参见
- GlobIterator::__construct() - Construct a directory using glob
- count() - 统计数组、Countable 对象中所有元素的数量
- glob() - 寻找与模式匹配的文件路径
+添加备注
用户贡献的备注 1 note
TwystO ¶
8 years ago
As stated here https://bugs.php.net/bug.php?id=55701 the count() method can lead to errors.
For example this won't works if no files are found in the target directory :
<?php
$iterator = new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME);
if($iterator->count()) {
foreach($iterator as $filePath) {
// do some stuff ...
}
}
?>
A workaround to this bug could be :
<?php
foreach(new \GlobIterator($ftpDirectory . '/*.*', FilesystemIterator::KEY_AS_FILENAME) as $filePath) {
// do some stuff ...
}
?>