Applicando la funzione al tuo esempio avresti una cosa del genere:
Codice PHP:
function contaFile($path)
{
$count = 0;
$dir = opendir($path);
while (($entry = readdir($dir)) !== false)
if (is_file($entry))
++ $count;
closedir($dir);
return $count;
}
echo "Elenco dei files:
";
if ($cartella = opendir('public/')) {
while (false !== ($file = readdir($cartella))) {
if ($file != "." && $file != "..") {
$numero = contaFile("public/$file");
echo "$file ($numero)
";
}
}
closedir($cartella);
}
Contare i files a mano vuol dire che contaFile() entra nella directory e controlla i files uno per uno, non c'è una funzione che ti ritorna il numero di files in una directory (e se ci fosse funzionerebbe nello stesso modo di contaFile, perché è il filesystem che non implementa contatori).
Tradotto: se hai tanti files ci mette un'eternità!