X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fecrire%2Faction%2Fcalculer_taille_cache.php;fp=www%2Fecrire%2Faction%2Fcalculer_taille_cache.php;h=1665e1294f61726581e45ca953028182d86eb746;hb=a33c2ba9d919664b3bb0f565f8e9a8b9d8530cdb;hp=0000000000000000000000000000000000000000;hpb=8945248b3d948385798d9aa355c70e7089aca2b3;p=lhc%2Fweb%2Fclavette_www.git diff --git a/www/ecrire/action/calculer_taille_cache.php b/www/ecrire/action/calculer_taille_cache.php new file mode 100644 index 0000000..1665e12 --- /dev/null +++ b/www/ecrire/action/calculer_taille_cache.php @@ -0,0 +1,89 @@ + 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 + * + * http://doc.spip.org/@calculer_taille_dossier + * + * @param $dir + * @return int + */ +function calculer_taille_dossier ($dir) { + $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; +} + +?> \ No newline at end of file