GlobIterator::count
(PHP 5 >= 5.3.0, PHP 7)
GlobIterator::count — Определяет количество директорий и файлов
Описание
public int GlobIterator::count
( void
)
Определяет количество директорий и файлов, совпадающих с glob-выражением.
Список параметров
У этой функции нет параметров.
Возвращаемые значения
Количество директорий и файлов в виде целого числа типа integer.
Примеры
Пример #1 Пример использования GlobIterator::count()
<?php
$iterator = new GlobIterator('*.xml');
printf("Найдено элементов: %d \r\n", $iterator->count());
?>
Результатом выполнения данного примера будет что-то подобное:
Найдено элементов: 8
Смотрите также
- GlobIterator::__construct() - Создает итератор директории, используя glob-выражение
- count() - Подсчитывает количество элементов массива или что-то в объекте
- glob() - Находит файловые пути, совпадающие с шаблоном
Коментарии
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 ...
}
?>