Как получить размер базы данных (БД) MySQL используя PHP. function formatfilesize( $data ) { // bytes return $data . " bytes"; } return round( ( $data / 1024 ), 1 ) . "k"; } return round( ( $data / 1024000 ), 1 ) . " MB"; } } ?>
Для начала потребуется простая функция formatfilesize(), которая будет преобразовывать размер в байтах в более «читаемый вид».
if( $data < 1024 ) {
// kilobytes
else if( $data < 1024000 ) {
// megabytes
else {
Далее необходимо подключиться к самой базе данных MySQL, чтобы узнать ее размер. $dbname = "databasename"; ?> mysql_select_db( $dbname ); while( $row = mysql_fetch_array( $result ) ) { $dbsize += $row[ "Data_length" ] + $row[ "Index_length" ]; } ?> echo "
Размер базы данных составляет " . formatfilesize( $dbsize ) . " "; ?>
Определим переменную, которая будет содержать имя нашей базы данных. Замените «databasename» на имя своей базы данных:
Осталось главное — вычислить размер БД. Это делается очень просто — необходимо просто пройтись по каждой таблице БД сложить размер данных и индекса БД:
$result = mysql_query( "SHOW TABLE STATUS" );
$dbsize = 0;
Сейчас размер БД в байтах содержится в переменной $dbsise. Нам осталось лишь воспользваться упомянутой в начале функцией formatfilesize() для форматирования этого размера (разделим его на кило-, мега-):