Как узнать размер базы данных MySQL через PHP

Как узнать размер базы данных MySQL через PHP

  В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP. Для начала нам потребуется простая функция formatfilesize(), которая будет преобразовывать размер в байтах в более "читаемый вид".
<?php

    function formatfilesize( $data ) 
	{
    
        // bytes
        if( $data < 1024 )
		{
          return $data . " bytes";
        }
        // kilobytes
        else if( $data < 1024000 )
		{
          return round( ( $data / 1024 ), 1 ) . "kb";
        }
        // megabytes
        else
		{        
          return round( ( $data / 1024000 ), 1 ) . " MB";
        }    
    }
    
?>
  Далее нам естественно необходимо подключиться к самой базе данных MySQL, чтобы узнать ее размер. Определим переменную, которая будет содержать имя нашей базы данных. Замените "databasename" на имя своей базы данных:
<?php

    $dbname = "databasename";

?>
  Ну а теперь нам осталось главное - вычислить размер нашей БД. Это делается очень просто - необходимо просто пройтись по каждой таблице БД сложить размер данных и индекса БД:
<?php

    mysql_select_db( $dbname );
    $result = mysql_query( "SHOW TABLE STATUS" );
    $dbsize = 0;
	
    while( $row = mysql_fetch_array( $result ) )
	{  	
        $dbsize += $row[ "Data_length" ] + $row[ "Index_length" ];
    }

?>
  Сейчас наш размер БД в байтах содержится в переменной $dbsise. Нам осталось лишь воспользваться упомянутой в начале статьи функцией formatfilesize() для форматирования этого размера (разделим его на кило-, мега-):
<?php

    echo "Размер базы данных составляет " . formatfilesize( $dbsize );

?>
  Вот, собственно, и все. Удачи!

Информация о статье "Как узнать размер базы данных MySQL через PHP"

Автор Николай Рудченко | Сайт http://www.codeguru.com.ua/ | Добавлена 13 Февраля 2008 | Просмотрели 1424 раз

  • Digg it!
  • Delicious
  • +МоёМесто.ru
  • Добавить страницу к Мистеру Вонгу
  • Добавить страницу к Мистеру Вонгу

Комментарии КОММЕНТАРИИ (2)

 17 Августа 2009 23:58:21 |  # 

Вот, собственно, и все.

Как это всё ??? Странно, есть имя базы, а где же пароль, а где подключение к БД ??? Что-то не то как-то... духом чую - не то, не дописано... :)

Мне кажется, без этого никак:

 

  • $Host = "localhost";
  • $User = "user";
  • $Password = "password";
  • $DBName = "NewDatabase";

 

 18 Августа 2009 01:22:03 |  # 

Полный код, который у меня без ошибок заработал... :)

 

$Host = "localhost";
$User = "User";
$Password = "Password";
$DBName = "DBName";

function formatfilesize($data) {
  if($data < 1024) {return $data." bytes";} // bytes
  else if($data < 1024000) {return round(($data/1024),1)."kb";} // kilobytes
  else {return round(($data/1024000),2)." MB";} // megabytes
}

$Link=mysql_connect($Host,$User,$Password);
mysql_select_db($dbname);
$result = mysql_query("SHOW TABLE STATUS");
$dbsize = 0;
while($row = mysql_fetch_array($result)) {$dbsize += $row["Data_length"]+$row["Index_length"];}
mysql_close($Link);

echo ' BD: '.formatfilesize($dbsize);

 

 

Зарегистрируйтесь или выполните Вход для того чтобы оставлять комментарии