PHP 7.1.0 Released

GlobIterator::count

(PHP 5 >= 5.3.0, PHP 7)

GlobIterator::countGet the number of directories and files

Description

public int GlobIterator::count ( void )

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 integer.

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
0
TwystO
5 months 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