Use PHP to count number of files in a directory

Here's a simple bit of PHP code to get the total number of files in a directory using the glob() and count() functions:

$num_files = count(glob($_SERVER['DOCUMENT_ROOT'].'/path/to/directory/*'));

Or here's how to only count files with a .jpg extension:

$num_files = count(glob($_SERVER['DOCUMENT_ROOT'].'/path/to/directory/*.jpg'));
Luis Aguilera May 17, 2013

I needed to know the number of files, in different folders and different file types. This code is working, only you have to replace the folder to evaluate.

Luis Aguilera May 17, 2013

$path = $_SERVER['DOCUMENT_ROOT'];

function cuantosarchivoshay($direval,$tiposarchis)
{
$directorio = $direval;
$tipos = $tiposarchis;
$files = glob($directorio . "*.{".$tipos."}",GLOB_BRACE);
if ($files){
$total = count($files);
}
else { $total = 0; }

return $total;
}

function existelacarpeta($direval,$tipos)
{
$directorio = $direval;
if (is_dir($directorio)) {
$archivos = cuantosarchivoshay($directorio,$tipos);
$laine = "". $archivos ." (".$directorio.") ";
}
Else {
$laine = " NO EXISTE LA CARPETA: ". $directorio." ";
}
return $laine;
}

Echo "Cantidad de archivos en cada carpeta";

//carpeta salida
$camino = $path."/salida/";
$linea = existelacarpeta($camino, "pdf");
Echo "salida (archivos PDF): " .$linea. "";
$linea = existelacarpeta($camino, "tif");
Echo "salida (archivos tif): " .$linea. "";
$linea = existelacarpeta($camino, "png");
Echo "salida (archivos png): " .$linea. "";

//several extensions of files -NO SPACE-
$linea = existelacarpeta($camino, "pdf,png,tif");
Echo "salida (archivos PDF, PNG, TIF): " .$linea. "";

Leave a Comment