Информационные технологииStfw.Ru 🔍

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

В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP.
🕛 11.01.2010, 19:26
Для начала нам потребуется простая функция 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"; } } 
?>

Думаю, разобраться вам будет с нею несложно.

Как видите, нам потребуется предварительно извлечь (заголовки) header information нашего звукового файла типа длительности duration, bit rate, audio channel и т.д.

Чтобы было понятнее, это делает функция unpack для декодирования файла:


Далее нам естественно необходимо подключиться к самой базе данных 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 );

?>

Вот, собственно, и все. Удачи!
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.

PHP   Теги:

Читать IT-новости в Telegram
Информационные технологии
Мы в соцсетях ✉