重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
要想知道每个数据库的大小的话,步骤如下:
成都创新互联公司专业提供德阳服务器托管服务,为用户提供五星数据中心、电信、双线接入解决方案,用户可自行在线购买德阳服务器托管服务,并享受7*24小时金牌售后服务。
1、进入information_schema
数据库(存放了其他的数据库的信息)
use
information_schema;
2、查询所有数据的大小:
select
concat(round(sum(data_length/1024/1024),2),'MB')
as
data
from
tables;
3、查看指定数据库的大小:
比如查看数据库home的大小
select
concat(round(sum(data_length/1024/1024),2),'MB')
as
data
from
tables
where
table_schema='home';
4、查看指定数据库的某个表的大小
比如查看数据库home中
members
表的大小
select
concat(round(sum(data_length/1024/1024),2),'MB')
as
data
from
tables
where
table_schema='home'
and
table_name='members';
php连接数据库服务器,然后选择使用的数据库名称为information_schema,然后执行查询就行了。看你问的这个问题应该不会不知道用php访问数据库吧。
如果你权限不够的话可能只能对特定的数据库的信息进行查询。
原理:根据不同的IP统计出当前有多少人在线。
实现方式:可以用数据库,也可以用文本。
我这里用了文本实现。
$user_online = "count.php"; // 保存人数的文件
touch ( $user_online ); // 如果没有此文件,则创建
$timeout = 30; // 30秒内没动作者,认为掉线
$user_arr = file_get_contents ( $user_online );
$user_arr = explode ( '#', rtrim ( $user_arr, '#' ) );
print_r ( $user_arr );
$temp = array ();
foreach ( $user_arr as $value ) {
$user = explode ( ",", trim ( $value ) );
if (($user [0] != getenv ( 'REMOTE_ADDR' )) ($user [1] time ())) { // 如果不是本用户IP并时间没有超时则放入到数组中
array_push ( $temp, $user [0] . "," . $user [1] );
}
}
array_push ( $temp, getenv ( 'REMOTE_ADDR' ) . "," . (time () + ($timeout)) . '#' ); // 保存本用户的信息
$user_arr = implode ( "#", $temp );
// 写入文件
$fp = fopen ( $user_online, "w" );
flock ( $fp, LOCK_EX ); // flock() 不能在NFS以及其他的一些网络文件系统中正常工作
fputs ( $fp, $user_arr );
flock ( $fp, LOCK_UN );
fclose ( $fp );
echo "当前有" . count ( $temp ) . "人在线";
两种方式:
第一:使用一个文本文档
每次读取这个文本文档的数,然后加1,再覆盖写入
关键代码:
?php
$txt_db = 'jsb.txt';
$nums = file_get_contents($txt_db);
$nums++;
file_put_contents($txt_db,$nums);
?
第二:使用数据库,设计数据表,每次更新数据库。
个人建议:使用第一种方法。
原因:需求简单,所以尽可能少占资源,抗压力强。
用sql查询语句就能实现 例如 你的表名叫student 里面的性别字段是sex
查询男生有多少人
select count(*) as c from student where sex='男'
查询女生有多少人
select count(*) as c from student where sex='女'
然后在php里用MySQL_fetch_row就能得出结果了
可以提供简单的方法:(基于你用的是tp,对于做cache缓存也不影响统计,毕竟是访问了控制器方法)
第一:当访问这个页面的时候,对应的有控制器,在控制器中做一个操作,每被访问这个页面一次给数据库那个字段加1(这个不精准)
第二:获取访问页面人的ip地址,在数据库存记录,每此访问此页面也就是控制器 就做同样的操作,前提是判断这个人的ip是否存在,存在证明已访问过。(稍微精确点)
当然还有不少其他的方法,这里是比较简单的。希望可以帮助到