Определение размера базы данных 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 ) . "k";

}

// 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 "<p>Размер базы данных составляет " . formatfilesize( $dbsize ) . "</p>";

 

?>

 

 

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

 

_____________________________________

Автор: Николай Рудченко


Программирование

Реклама

Счетчики

Рейтинг@Mail.ru Rambler's Top100
Hosted by uCoz