<?php
$dir = '/path/to/dir';
function countFilesInDir($pathToDir, array $exludes = []){
$filesCount = 0;
$directoryIterator = new DirectoryIterator($pathToDir);
foreach ($directoryIterator as $file){
if ($file->isDot()) continue;
/**
* @var SPLFileInfo $file
*/
if (in_array($file->getBasename(), $exludes)) continue;
if ($file->isFile()){
$filesCount++;
}
}
return $filesCount;
}
echo countFilesInDir($dir, ['index.php']);
Легко дорабатывается в рекурсивный вариант при помощи DirectoryRecursiveIterator.