- 论坛徽章:
- 0
|
使用说明:
1、将以下两个文件存为到CTB论坛根目录下。
2、打开tongjtiezi.php,之后,程序将显示本论坛的文章数、帖子数及会员数。
3、请不要担心,程序仅显示以上信息,不会重新写入CTB论坛的统计文件。
4、本程序已在v1.8.0 STABLE下测试通过。
5、如有疑问请至电,3vshej*163.com[*=@]。
附加说明:
板块目录中的*.php4文件为投票数据。
程序执行机制:
1、获取CTB论坛数据库目录。
2、在数据库目录中仅统计数字形式目录名并存入数组。[得到板块数]
3、分别统计每个板块中数字形式的PHP文件。[得到文章数]
4、读取并统计每个板块目录中数字形式的PHP文件。[得到帖子数]
注:CTB论坛的板块、文章名都是以数字形式命名。
tongjtiezi.php
?php
/*
* ===========================================
* 项目: CTB论坛统计文章、帖子、会员数
* 版本: 1.0
* 团队: 3Vshej
* 作者: wangyouworld
* 功能: CTB论坛统计文章、帖子、会员数
* ===========================================
* Copyright (c) 2009
* 团队主页: http://www.3vshej.cn
* 团队信箱: 3vshej+163.com[+=@]
* 创建日期: 2009-03-27
* 修改日期: ----
* 修改说明: ----
* 版权声明: 免费软件
* ===========================================
*/
//统计帖子
include("./include/config.php");//调用CTB论坛配置文件
include("./tongj.php");//调用统计类
ob_start();
//1、获取所有帖子目录名
//CTB论坛帖子目录名为数字形式
echo "CTB论坛统计文章、帖子数";
echo "CTB论坛统计文章、帖子数";
$tj = new tongj;
$dirnr = $tj->mulu($set['dataPath'],TRUE);//01、获取所有板块目录名
$dirshu = count($dirnr);//02、统计目录数,即有多少个板块
echo "版块数:".$dirshu."
";
$wzshu = 0;
$tzshu = 0;//03、文章、帖子计数器归零
for ($xunh=0;$xunh$dirshu;$xunh++){
echo "";
$fnr = $tj->mulu($set['dataPath']."/".$dirnr[$xunh],FALSE);
//04、读取板块目录名,并统计文章数
$wzshu += count($fnr);
$e = $tj->tztongj($fnr,$set['dataPath']."/".$dirnr[$xunh]);
//05、读取帖子内容,并统计帖子数
$tzshu += $e;
echo "
$dirnr[$xunh],文章数:".count($fnr),",帖子数:$e
";
}
$dirnr = $tj->mulu($set['dataPath']."/users",FALSE);//01、获取所有板块目录名
$dirshu = count($dirnr);//02、统计目录数,即有多少个板块
echo "用户数:",$dirshu,"
";
echo "文章数:",$wzshu,"
帖子数:",$tzshu,"";
ob_end_flush();
?>
tongj.php
?php
/*
* ===========================================
* 项目: CTB论坛统计文章、帖子、会员数类
* 版本: 0.1
* 团队: 3Vshej
* 作者: wangyouworld
* 功能: CTB论坛统计文章、帖子、会员数类
* ===========================================
* Copyright (c) 2009
* 团队主页: http://www.3vshej.cn
* 团队信箱: 3vshej+163.com[+=@]
* 创建日期: 2009-03-27
* 修改日期: ----
* 修改说明: ----
* 版权声明: 免费软件
* ===========================================
*/
class tongj{//统计类
function mulu($mulu,$j=TRUE){
//获取目录名,$j为TRUE时统计目录,否则统计目录下文件
//统计板块目录时,如果其下存在status.php,则统计。
$dirzhen= opendir($mulu);
while (($wj = readdir($dirzhen))){
if ($j){
if (is_dir($mulu."/".$wj) and is_numeric($wj) and is_file($mulu."/".$wj."/status.php")) {
$dirming[] = $wj;
echo $wj,"| "; //该行注释则隐藏目录信息显示。
}
}else{
$s = substr($wj,0,-3);
if (is_numeric($s)){
$dirming[] = $wj;
echo $wj,"> ";//该行注释则隐藏文件信息显示。
}
}
}
closedir($dirzhen);
return $dirming;}
function tztongj($mlnr,$lu){
//统计目录下帖子数
$p = count($mlnr);
$f = 0;
for ($xunh0=0;$xunh0$p;$xunh0++){
$i=0;
$zhen = fopen($lu."/".$mlnr[$xunh0],"r");
while (!feof($zhen)){
$i+=1;
$buffer = fgets($zhen);
}
fclose($zhen);
$f+=$i-1;
}
return $f;
}}
?>
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/19061/showart_1882342.html |
|