What are some recommended PHP functions or techniques for recursively reading directories and counting files?

When you need to recursively read directories and count files in PHP, you can use the `RecursiveDirectoryIterator` and `RecursiveIteratorIterator` classes provided by PHP. These classes allow you to iterate through directories and subdirectories easily. By using a recursive function, you can count the number of files within each directory.

function countFilesInDirectory($dir) {
    $count = 0;
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
    
    foreach ($iterator as $file) {
        if ($file->isFile()) {
            $count++;
        }
    }
    
    return $count;
}

$directory = 'path/to/directory';
$fileCount = countFilesInDirectory($directory);
echo "Total number of files in directory: " . $fileCount;