la "cartella" (che poi si chiama directory) non è altro che un file particolare e puoi usare le stesse funzioni. Per quanto riguarda le dimensioni però non otterrai il peso del suo contenuto, ma otterrai 0 perchè la directory in se non pesa nulla.
Per il peso di una directory io uso questa:
codice:
/**
* var string $dir path assoluto
* var string $files_da_escludere nomi di file da escludere separati da virgola.
*/
function dirSize($dir, $files_da_escludere = '') {
$mas = 0;
$handle = opendir($dir);
while ($file = readdir($handle)) {
$esclusione = array('.', '..');
if($files_da_escludere) {
$esclusione = array_merge($esclusione, explode(',', $files_da_escludere));
}
if (!in_array($file, $esclusione) && !is_dir($dir.'/'.$file)) {
$mas += filesize($dir.'/'.$file);
} else if (is_dir($dir.'/'.$file) && !in_array($file, $esclusione)) {
$mas += dirSize($dir.'/'.$file, $files_da_escludere);
}
}
return $mas;
}
ciao