php 计算整个mysql数据库大小的实现方法

PHP计算连接的MysqL数据库的大小,用MB,KB或者GB的格式返回,PHP计算整个MysqL数据库的大小,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 * 计算连接的MysqL数据库的大小
 *
 * @param 
 * @arrange (编程之家) 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)   ***/

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...