Файловый менеджер - Редактировать - /home/atelierpru/provence/ecrire/action/calculer_taille_cache.php
Назад
<?php /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * * Copyright (c) 2001-2019 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ /** * Gestion de l'action calculer_taille_cache * * @package SPIP\Core\Cache **/ if (!defined('_ECRIRE_INC_VERSION')) { return; } /** * Calculer la taille du cache ou du cache image pour l'afficher en ajax sur la page d'admin de SPIP * * Si l'argument reçu est 'images', c'est la taille du cache _DIR_VAR qui est calculé, * sinon celle du cache des squelettes (approximation) * * @param string|null $arg * Argument attendu. En absence utilise l'argument * de l'action sécurisée. */ function action_calculer_taille_cache_dist($arg = null) { if (is_null($arg)) { $securiser_action = charger_fonction('securiser_action', 'inc'); $arg = $securiser_action(); } include_spip('inc/filtres'); if ($arg == 'images') { $taille = calculer_taille_dossier(_DIR_VAR); $res = _T('ecrire:taille_cache_image', array( 'dir' => joli_repertoire(_DIR_VAR), 'taille' => "<b>" . (taille_en_octets($taille) > 0 ? taille_en_octets($taille) : "0 octet") . "</b>" ) ); } 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 = "<b>$res</b>"; } $res = "<p>$res</p>"; 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; }
| ver. 1.4 |
Github
|
.
| PHP 7.0.33 | Генерация страницы: 0.02 |
proxy
|
phpinfo
|
Настройка