joli_repertoire(_DIR_VAR), 'taille' => "" . (taille_en_octets($taille) > 0 ? taille_en_octets($taille) : "0 octet") . "" ) ); } else { include_spip('inc/invalideur'); $taille = calculer_taille_dossier(_DIR_CACHE_XML) + calculer_taille_dossier(_DIR_CACHE . 'skel/') + calculer_taille_dossier(_DIR_CACHE . 'wheels/') + calculer_taille_dossier(_DIR_CACHE . 'contextes/'); $taille += intval(taille_du_cache()); if ($taille <= 150000) { $res = _T('taille_cache_vide'); } elseif ($taille <= 1024 * 1024) { $res = _T('taille_cache_moins_de', array('octets' => taille_en_octets(1024 * 1024))); } else { $res = _T('taille_cache_octets', array('octets' => taille_en_octets($taille))); } $res = "$res"; } $res = "

$res

"; ajax_retour($res); } /** * Calculer la taille d'un dossier, sous dossiers inclus * * @param string $dir Répertoire dont on souhaite évaluer la taille * @return int Taille en octets */ function calculer_taille_dossier($dir) { if (!is_dir($dir) or !is_readable($dir)) { return 0; } $handle = opendir($dir); if (!$handle) { return 0; } $taille = 0; while (($fichier = @readdir($handle)) !== false) { // Eviter ".", "..", ".htaccess", etc. if ($fichier[0] == '.') { continue; } if (is_file($d = "$dir/$fichier")) { $taille += filesize($d); } else { if (is_dir($d)) { $taille += calculer_taille_dossier($d); } } } closedir($handle); return $taille; }