인터넷정보

PHP로 DB 사용용량, 남은용량 알아내기.

알 수 없는 사용자 2007. 10. 16. 16:28
자신의 db, 자신의 db_id, 자신의 비밀번호,
자신의 할당받은 db 용량을 수정하여 주시고 사용하시면 됩니다.

------------------------------------------------------------------------------------
<?
// 데이타 베이스 관련 설정
////////////////////////////////////////
$db['database'] = "님의데이터베이스";
$db['user']     = "님의아이디";
$db['pw']       = "계정비밀번호";
$first_mb                = "님의 초기설정 db 용량";
////////////////////////////////////////
/*
//예입니다. 아래와 같이 위를 수정해 주세요...
$db['database'] = "db_kumasim";
$db['user']     = "db_kumasim";
$db['pw']       = "kumasim_pass";
$first_mb                = 5;
*/
$db['host']     = "localhost";
$db['port']     = "3306";

// 기본값
$k      = 1024;         // 킬로
$m      = $k * 1024;    // 메가
$g      = $m * 1024;    // 기가
$t    = $g * 1024;    // 테라

// 나의 디비 용량
$mySize = $first_mb * $m;
?>

<html>
<body>

<table border=0 bgcolor=#8888cc cellpadding=2 cellspacing=1>
<tr height=22 bgcolor=#ccccee align=center>
    <td>테이블명</td>
    <td>테이블 설명</td>
    <td>테이블타입</td>
    <td>저장형식</td>
    <td>용량</td>
    <td>레코드수</td>
</tr>
<?
$dbCon = mysql_connect($db['host'], $db['user'], $db['pw']);
mysql_select_db($db["database"], $dbCon);

$result = mysql_query("SHOW TABLE STATUS", $dbCon);

while ( $row = mysql_fetch_assoc($result) )
{
        $size = $row['Data_length'] + $row['Index_length'];
    $sum += $size;

    $sizeShow = sizeCal( $size );

        echo "
        <tr bgcolor=#ffffff>
            <td>$row[Name]</td>
            <td>$row[Comment]</td>
            <td>$row[Type]</td>
            <td>$row[Row_format]</td>
            <td align=right>$sizeShow  </td>
            <td align=right> $row[Rows] </td>
        </tr>
    ";
}
$r_mySize = sizeCal( $mySize );
$r_sum    = sizeCal( $sum );
$rt       = sizeCal( $mySize - $sum );

echo "<tr bgcolor=#dddddd><td colspan=6 align=center> $r_mySize - $r_sum = $rt </td></tr>n";

function sizeCal( $size )
{
    global $m, $k;
    if ( $size < 0 ) { $t = 0; $size = abs($size); } else $t = 1;
    if ( $size >= $GLOBALS['t'] )
    {
        $size = intval( $size / $GLOBALS['t'] ) . " TB";
    }
        elseif ( $size >= $GLOBALS['g'] )
        {
                $szie = intval( $size / $GLOBALS['g'] ) . " GB";
        }
        elseif ( $size >= $m )
        {
                $size = intval( $size / $m ) . " MB";
        }
        elseif ( $size >= $k )
        {
                $size = intval( $size / $k ) . " KB";
        }
        else
        {
                $size .= " B";
        }
    
    $size = ( $t ) ? "$size":"- $size";

    return $size;
}
?>
</table>

</body>
</html>
반응형