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

本文实例讲述了php计算整个mysql数据库大小的方法。分享给大家供大家参考。具体如下:

这里用MB,KB或者GB的格式返回计算结果。

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程序设计有所帮助。

(0)

相关推荐

  • 用PHP来计算某个目录大小的方法

    PHP CURL session COOKIE 可以调用系统命令,还可以这样: 复制代码 代码如下: function dirsize($dir) { @$dh = opendir($dir); $size = 0; while ($file = @readdir($dh)) { if ($file != "." and $file != "..") { $path = $dir."/".$file; if (is_dir($path)) { $

  • PHP实现字节数Byte转换为KB、MB、GB、TB的方法 原创

    本文实例讲述了PHP实现字节数Byte转换为KB.MB.GB.TB的方法.分享给大家供大家参考,具体如下: 前面介绍了java实现字节数Byte转换为KB.MB.GB.TB的方法 ,这里改用PHP实现这一功能.代码非常简单: <?php function getFilesize($num){ $p = 0; $format='bytes'; if($num>0 && $num<1024){ $p = 0; return number_format($num).' '.$f

  • php strlen mb_strlen计算中英文混排字符串长度

    比较strlen和mb_strlen 当字符全是英文字符的时候,两者是一样.这里主要比较一下,中英文混排的时候,两个计算结果.(测试时编码方式是UTF8) 复制代码 代码如下: <?php $str='中文a字1符'; echo strlen($str); echo '<br />'; echo mb_strlen($str,'UTF8'); //输出结果 //14 //6 ?> 结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以"中文a字1符&q

  • php计算一个文件大小的方法

    本文实例讲述了php计算一个文件大小的方法.分享给大家供大家参考.具体如下: <?php function dirSize($directoty){ $dir_size=0; if($dir_handle=@opendir($directoty)) { while($filename=readdir($dir_handle)){ $subFile=$directoty.DIRECTORY_SEPARATOR.$filename; if($filename=='.'||$filename=='..

  • php计算整个目录大小的方法

    本文实例讲述了php计算整个目录大小的方法.分享给大家供大家参考.具体实现方法如下: /** * Calculate the full size of a directory * * @author Jonas John * @version 0.2 * @param string $DirectoryPath Directory path */ function CalcDirectorySize($DirectoryPath) { // I reccomend using a normali

  • php对文件夹进行相关操作(遍历、计算大小)

    为大家分享的第一个操作内容: 遍历并打印指定目录下所有文件 <?php //功能:遍历并打印指定目录下所有文件 function scan_dir($dir_name,$dir_flag=1) { static $FILE_COUNT=1; //记录文件数目 初值为1 目录名称不记 $FILE_COUNT--; //每调用一次scan_dir()函数自减1 @$dir_handle=opendir($dir_name); //抑制错误信息显示 便于自定义错误显示 if(!$dir_handle)

  • PHP中字符与字节的区别及字符串与字节转换示例

    字符: 字符是可使用多种不同字符方案或代码页来表示的抽象实体.例如,Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为 8 位字节序列.公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符. php在UTF-8编码下,一个汉字占3个字符,gbk编码下只占2个字符. 字节(Byte): 字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位. 应用: 如果数据库中表为UTF8

  • php使用递归计算文件夹大小

    方法很简单,这里就不多废话了,直接奉上代码: 复制代码 代码如下: protected function dir_size($dir){         $dh = opendir($dir);             //打开目录,返回一个目录流         $size = 0;      //初始大小为0         while(false !== ($file = @readdir($dh))){     //循环读取目录下的文件            if($file!='.'

  • php字符串截取中文截取2,单字节截取模式

    //中文截取2,单字节截取模式 function cn_substr($str,$slen,$startdd=0){     $restr = "";     $c = "";     $str_len = strlen($str);     if($str_len < $startdd+1) return "";     if($str_len < $startdd + $slen || $slen==0) $slen = $str

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

    本文实例讲述了php计算整个mysql数据库大小的方法.分享给大家供大家参考.具体如下: 这里用MB,KB或者GB的格式返回计算结果. 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

  • PHP使用mysqli操作MySQL数据库的简单方法

    PHP的 mysqli 扩展提供了其先行版本的所有功能,此外,由于 MySQL 已经是一个具有完整特性的数据库服务器 , 这为PHP 又添加了一些新特性 . 而 mysqli 恰恰也支持了这些新特性. 一. 建立和断开连接 与 MySQL数据库交互时,首先要建立连接,最后要断开连接,这包括与服务器连接并选择一个数据库 , 以及最后关闭连接 .与 mysqli 几乎所有的特性一样 , 这一点可以使用面向对象的方法来完成,也可以采用过程化的方式完成. 1. 创建一个 mysqli 的对象 $_mys

  • 用命令创建MySQL数据库(de1)的方法

    一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1. 连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户 名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2.连接到远程主机上的MYSQL.假设远程主机的IP为

  • python访问mysql数据库的实现方法(2则示例)

    本文实例讲述了python访问mysql数据库的实现方法.分享给大家供大家参考,具体如下: 首先安装与Python版本匹配的MySQLdb 示例一 import MySQLdb conn=MySQLdb.connect(user='root',passwd='123',db='example') cur=conn.cursor() cur.execute("select id,lastname,firstname, date_format(dob,'%Y-%m-%d %H-%i-%s'),pho

  • Linux启动/停止/重启Mysql数据库的简单方法(推荐)

    1.查看mysql版本 方法一:status; 方法二:select version(); 2.Mysql启动.停止.重启常用命令 a.启动方式 1.使用 service 启动: [root@localhost /]# service mysqld start (5.0版本是mysqld) [root@szxdb etc]# service mysql start (5.5.7版本是mysql) 2.使用 mysqld 脚本启动: /etc/inint.d/mysqld start 3.使用 s

  • Java生成日期时间存入Mysql数据库的实现方法

    目录 一.创建数据库标准 二.数据库表结构 三.使用步骤 一.创建数据库标准 1.表的必备三个字段:id.gmt_create.gmt_modified 2.gmt_create是创建时间,gmt_modified是更新时间 3.然而创建时间和更新时间的默认设置不要让数据库来设置.统一用Mybatis-plus的Handler管理 二.数据库表结构 CREATE TABLE `ums_member` ( `id` bigint(20) NOT NULL, `username` varchar(6

  • 计算机二级考试MySQL常考点 8种MySQL数据库设计优化方法

    MySQL数据库设计的8种优化方法,具体内容如下 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小.例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了.同样的,如果可以的话,我们应该使用MEDIUMINT而不是B

  • mysql数据库远程访问设置方法

    1.改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmwaremysql>use mysql; mysql>update user set host = '%' where

  • Mysql 数据库常用备份方法和注意事项

    Mysql数据库备份的常用3种方法: 1.直接拷贝(cp.tar,gzip,cpio) 2.mysqldump 3.mysqlhotcopy 1.使用直接拷贝数据库备份 典型的如cp.tar或cpio实用程序. 当你使用直接备份方法时,必须保证表不在被使用.如果服务器在你正在拷贝一个表时改变它,拷贝就失去意义. 保证你的拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重启服务器.如果你不想关闭服务器,要在执行表检查的同时锁定服务器.如果服务器在运行,相同的制约也适用于拷贝文件,而且你应该使用相同

  • php 读取mysql数据库三种方法

    复制代码 代码如下: <? $dbh = @mysql_connect("localhost:3306","root","000000"); /* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */ if(!$dbh){die("error");} /* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script).括

随机推荐