使用说明:
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 * 团队主页: * 团队信箱: 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 * 团队主页: * 团队信箱: 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; }} ?>
|
阅读(1243) | 评论(0) | 转发(0) |