本文实例讲述了php计算整个mysql数据库大小的方法。分享给大家供大家参考。具体如下:
这里用MB,KB或者GB的格式返回计算结果。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
function CalcFullDatabaseSize( $database , $db ) {
$tables = mysql_list_tables( $database , $db );
if (! $tables ) { return -1; }
$table_count = mysql_num_rows( $tables );
$size = 0;
for ( $i =0; $i < $table_count ; $i ++) {
$tname = mysql_tablename( $tables , $i );
$r = mysql_query( "SHOW TABLE STATUS FROM " . $database . " LIKE '" . $tname . "'" );
$data = mysql_fetch_array( $r );
$size += ( $data [ 'Index_length' ] + $data [ 'Data_length' ]);
};
$units = array ( ' B' , ' KB' , ' MB' , ' GB' , ' TB' );
for ( $i = 0; $size > 1024; $i ++) { $size /= 1024; }
return round ( $size , 2). $units [ $i ];
}
/*
** Example:
*/
// open mysql connection:
$handle = mysql_connect( 'localhost' , 'user' , 'password' );
if (! $handle ) { die ( 'Connection failed!' ); }
// get the size of all tables in this database:
print CalcFullDatabaseSize( 'customer1234' , $handle );
// --> returns something like: 484.2 KB
// close connection:
mysql_close( $handle );
|
希望本文所述对大家的php程序设计有所帮助。