Contare il numero dei file in una directory con PHP

Se abbiamo necessit√† di contare il numero dei file all’interno di una directory con PHP, non avendo a disposizione una tra le tante funzioni native che possa svolgere questo compito, ne possiamo creare una ad hoc che potremmo utilizzare anche come metodo all’interno di una classe.

In questo breve articolo vediamo dunque, una semplice funzione da utilizzare quando abbiamo bisogno di avere il numero dei file presenti all’interno di una cartella .

Possiamo decidere quindi, di fare il conteggio di tutti i file all’interno della directory, oppure aggiungendo un ulteriore parametro, possiamo ottenere il numero dei file che hanno l’estensione specificata:

<?php
function countFileDir($dir,$ext='')
{
//Con la variabile $count contiamo i file presenti nella directory
$count=0;
//verifico che sia una directory
if(is_dir($dir))
{
if($handle= opendir($dir))
{
while (false !== ($file = readdir($handle))) {
//controllo se si tratta di un file visto che potrebbero essere presenti altre cartelle
if (!in_array($file, array('.', '..')) && !is_dir($dir."/".$file))
{
if($ext!='')
{
//ricavo l'estensione del file
$ex=pathinfo($file);
//se corrisponde incremento di 1 $count
if($ex['extension']==$ext)
{
$count++;
}
}
else
{
$count++;
}

}

}
//chiudo la directory
closedir($handle);

}

}
return $count;
}
//otteniamo il conteggio delle immagini in formato jpg
echo countFileDir('immagini','jpg');
/*otteniamo il conteggio di tutti i
file all'interno del percorso */
echo countFileDir('immagini');
?>

 

Lascia un commento