经测试代码如下:
/**
* 计算连接的MysqL数据库的大小
*
* @param
* @arrange (512.笔记) jb51.cc
**/
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);
/*** 代码来自编程之家 jb51.cc(jb51.cc) ***/