@set_time_limit (0); $_zb_path="../"; include "../lib.html"; $connect=dbconn(); $member=member_info(); if(!$member[no]||$member[is_admin]>1||$member[level]>1) Error("只限管理员使用."); head(" bgcolor=white"); ?>
![]() |
![]() |
![]() |
|
本功能目的是清理、收拾一些附属的档案 这会删除在所有讨论板中、有上载错误或垃圾档案. 请耐心等候程式执行完毕,执行时间在则视乎讨论板的多寡和大小. *用这项功能去清理讨论板 (可减少处理时间) |
||
$result = mysql_query("select * from $admin_table order by name") or die(mysql_error());
$totalfilesnum = 0;
$ntotalfilesnum = 0;
$existsfilesnum = 0;
$nexistsfilesnum = 0;
while($bbs = mysql_fetch_array($result)) {
$id = $bbs[name];
$files1 = mysql_fetch_array(mysql_query("select count(*) from $t_board"."_$id where file_name1 != ''"));
$files2 = mysql_fetch_array(mysql_query("select count(*) from $t_board"."_$id where file_name2 != ''"));
$filesnum1 = $files1[0];
$filesnum2 = $files1[0];
$nfiles1 = mysql_query("select no, file_name1 , s_file_name1 from $t_board"."_$id where file_name1 !='' and file_name1 not like 'data/$id/%'");
$nfiles2 = mysql_query("select no, file_name2 , s_file_name2 from $t_board"."_$id where file_name2 !='' and file_name2 not like 'data/$id/%'");
$nfilesnum1 = mysql_num_rows($nfiles1);
$nfilesnum2 = mysql_num_rows($nfiles2);
$totalfilesnum += $filesnum1 + $filesnum2;
$ntotalfilesnum += $nfilesnum1 + $nfilesnum2;
// 检查目录
if(!is_dir("../data/$id")) {
mkdir("../data/$id",0777);
}
if(!is_dir("../data/$id")) die("../data/$id 不能建立资料夹.");
?>
=$id?> 讨论板
- 文章总数 : =$bbs[total_article]?>
- 附件档案总数 : =number_format($filesnum1+$filesnum2)?>
- 附件档案路径错误 : =number_format($nfilesnum1+$nfilesnum2)?>
while($data=mysql_fetch_array($nfiles1)) {
// 核对源文件的信息
$filename = stripslashes($data[s_file_name1]);
$source = "../".stripslashes($data[file_name1]);
$path = str_replace($filename, "", $source);
$no = $data[no];
// 只有源文件时进行核对
if(file_exists($source)) {
$existsfilesnum ++;
// 核对在要移动的对象里有没有相同的文件
if(file_exists("../data/$id/$filename")) {
$add_dir = time();
$target_path = "../data/$id/$add_dir";
mkdir($target_path,0777);
$target_path = "../data/$id/$add_dir/$filename";
$sql = "update $t_board"."_$id set file_name1 = 'data/$id/$add_dir/$filename' where no = $no";
} else {
$target_path = "../data/$id/$filename";
$sql = "update $t_board"."_$id set file_name1 = 'data/$id/$filename' where no = $no";
}
if(!copy($source, $target_path)) die("$source
to
$target_path
文件无法复制
(请您先检查文件后再实行) ");
z_unlink($source);
@rmdir($path);
mysql_query($sql) or die(mysql_error());
} else {
$nexistsfilesnum ++;
}
}
while($data=mysql_fetch_array($nfiles2)) {
// 核对源文件的信息
$filename = stripslashes($data[s_file_name2]);
$source = "../".stripslashes($data[file_name2]);
$path = str_replace($filename, "", $source);
$no = $data[no];
// 只有源文件时进行核对
if(file_exists($source)) {
$existsfilesnum ++;
// 核对在要移动的对象里有没有相同的文件
if(file_exists("../data/$id/$filename")) {
$add_dir = time();
$target_path = "../data/$id/$add_dir";
mkdir($target_path,0777);
$target_path = "../data/$id/$add_dir/$filename";
$sql = "update $t_board"."_$id set file_name2 = 'data/$id/$add_dir/$filename' where no = $no";
} else {
$target_path = "../data/$id/$filename";
$sql = "update $t_board"."_$id set file_name2 = 'data/$id/$filename' where no = $no";
}
if(!copy($source, $target_path)) die("$source
to
$target_path
文件无法复制
(请您先检查文件后再实行) ");
z_unlink($source);
@rmdir($path);
mysql_query($sql) or die(mysql_error());
} else {
$nexistsfilesnum ++;
}
}
flush();
}
?>
附件档案总数 : =number_format($totalfilesnum)?>
附件档案路径错误总数 : =number_format($ntotalfilesnum)?>
档案总数 : =number_format($existsfilesnum)?>
不存在档案数目 : =number_format($nexistsfilesnum)?>
完成
重新执行可达更佳效果.
如想清理垃圾档案,按下面的按扭.
mysql_close($connect);
$connect="";
?>