Подсчет веса БД с кэштрованием
function mysql_size()
{
global $timesite; //Время сайта
$dload_cache_time = @filemtime("../cache/mysql_size.tmp");
$dload_cache_time = $dload_cache_time+(3600*12);
$dload_cache = @file_get_contents("../cache/mysql_size.tmp");
if($timesite < $dload_cache_time && !empty($dload_cache))
{
$mysql_size = $dload_cache;
}
else
{
$res = mysql_query("SHOW TABLE STATUS FROM `Название базы`");
$mysql_size = 0;
while ($r = mysql_fetch_assoc($res))
{
$mysql_size += $r['Data_length'] + $r['Index_length'];
}
mysql_free_result();
$fp_dload_cache = fopen("../cache/mysql_size.tmp","w");
flock($fp_dload_cache,LOCK_EX);
fputs($fp_dload_cache,$mysql_size);
flock($fp_dload_cache,LOCK_UN);
fclose($fp_dload_cache);
chmod("../cache/mysql_size.tmp", 0666);
}
return $mysql_size;
}