CakeFest 2024: The Official CakePHP Conference

GlobIterator::count

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

GlobIterator::countGet the number of directories and files

Beschreibung

public GlobIterator::count(): int

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

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

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

Beispiele

Beispiel #1 GlobIterator::count() example

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

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

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Matched 8 item(s)

Siehe auch

  • GlobIterator::__construct() - Construct a directory using glob
  • count() - Zählt alle Elemente eines Arrays oder eines Countable-Objekts
  • glob() - Findet Dateinamen, die mit einem Muster übereinstimmen

add a note

User Contributed Notes 1 note

up
0
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