GlobIterator::count

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

GlobIterator::countGet the number of directories and files

Description

public GlobIterator::count(): int

Gets the number of directories and files found by the glob expression.

Parameters

This function has no parameters.

Return Values

The number of returned directories and files, as an int.

Examples

Example #1 GlobIterator::count() example

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

printf("Matched %d item(s)\r\n", $iterator->count());
?>

The above example will output something similar to:

Matched 8 item(s)

See Also

add a note add a note

User Contributed Notes 1 note

up
1
TwystO
7 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 ...
}
?>
To Top