本文实例讲述了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程序设计有所帮助。