<?php
#########################程序简介##########################
#程序名称：红帽网站文件管理dir.php
#版本：3.8
#作者：Redhat
#邮箱：zxhcxd@163.net,redhat@2002.buyionline.net,redhat@hnwj.net
#主页：http://2002.buyionline.net
#完成时间：2003.01.04
#开发和调试环境：windows 2000(Server)+Apache1.3.26+PHP4.3.0+,Linux7.2+Apache1.3.20+PHP4.2.3
#运行环境：任何支持PHP的空间，身份验证需SESSION支持,PHP的版本不能小于4.0.0
#建议在php.ini中把register_globals=On设为Off,以确保安全
#新加特性:增强搜索功能
#注意：在LINUX环境下运行请设定好文件或文件夹的相应权限
#版权：本程序可以任意传播、修改，如果您需要技术支持的话请直接联系Redhat,QQ：77715043(如果不在，可能隐身哦)，为尊重劳动成果，请保留以上文字说明，谢谢！
#其它：为使程序精简，本程序没有使用任何图片
//------------------------------------------------------
#问题：如遇到程序无法删除的文件，请用FTP登入改变该文件所在文件夹的属性为666
#问题：如遇到程序无法删除的文件夹，可能是该文件夹里面还有文件或文件夹，也可能是该文件夹的属性不为666
#问题：如无法建立文件或文件夹，可能是当前目录的属性不为666
#问题：如遇到修改文件失败、文件改名失败，请改变该文件的属性为777
#问题：如遇到文件夹改名挫败，请改变该文件夹的属性为777
//-------------------------------------------------------
/*
----------------文件权限说明----------------------
每一个权限设定值可以用一数字号码来代替:
r = 4 读
w = 2 写
x = 1 执行
- = 0 没有权限
#####
以下列示一些一般常设定的数值以及含义∶

-rw------- (600) -- 只有第一组拥有读取及写入权限。

-rw-r--r-- (644) -- 只有第一组拥有读取及写入权限；第二组及第三组只有读取权限。

-rwx------ (700) -- 只有第一组拥有读取、写入及执行的权限。

-rwxr-xr-x (755) -- 只有第一组拥有读取、写入及执行的权限，第二组及第三组只有读取、执行权限。

-rwx--x--x (711) -- 只有第一组拥有读取、写入及执行的权限，第二组及第三组只有执行权限。

-rw-rw-rw- (666) -- 每一个人均拥有读取、写入的权限。

-rwxrwxrwx (777) -- 每一个人均拥有读取、写入及执行的权限。

底下有二个一般设定目录的的设定值∶

drwx------ (700) -- 只有第一组拥有读取、写入及执行的权限。

drwxr-xr-x (755) -- 每一个人均可以读取这个目录，但是它的内容仅可以由第一组(拥有者) 修改。
#####
--------------------------------------------------
*/
###########################################################
/*                       程序使用                        /*
 #######################################################
1、设定好登陆管理的帐号和密码
   $rootname="redhat"; //这是默认帐号
   $password="redhat"; //这是默认密码
2、上传本文件到你想管理的目录中去执行本文件即可
3、其它可以对照说明自行修改
############################################################
*/
?>
<?php
//dir.php
error_reporting(7);
$getpath=strrpos(getenv("SCRIPT_FILENAME"),"/");
$rootdir=substr(getenv("SCRIPT_FILENAME"),0,$getpath);//根目录
if(!$getpath){
  $getpath=strrpos(str_replace("\\","/",getenv("PATH_TRANSLATED")),"/");
  $rootdir=substr(str_replace("\\","/",getenv("PATH_TRANSLATED")),0,$getpath);
 }
session_start();
session_register("rootdir");
$rootdir=$rootdir;
$thisdir=$rootdir.$dir;
//////////////////////////////////////////////////
//@#自定义变量开始
$version="V3.8";//版本号
$myfavtitle="文件管理器($version)";//自定义标题
$rootname="redhat"; //请设定好登陆的帐号
$password="redhat";//请设定好登陆的密码
//可以在线编辑的文件扩展名
$moditype=array("txt","php","htm","inc","css","html","cvs","php3","phtml","js","sh","java","shtml","c","bash","conf","");
////////////////////////////////////////////////
if($HTTP_POST_VARS["login"]=="ok")
 {
//   echo "<script>alert(\"ddd\");</script>";
   if($HTTP_POST_VARS["loginname"]!=$rootname) {echo "<font color=red>帐号输入有误</font><br>";back($HTTP_SERVER_VARS["PHP_SELF"]);exit;}
      else
         {
           session_register("session_name");
           $HTTP_SESSION_VARS['session_name']=$rootname;
         }
   if($HTTP_POST_VARS["loginpass"]!=$password){ echo "<br><font color=red>密码输入有误</font><br>";back($HTTP_SERVER_VARS["PHP_SELF"]);exit;}
      else
         {
           session_register("session_pass");
           $HTTP_SESSION_VARS['session_pass']=$password;
         }
         right("正在登入...");
 }
?>
<html>
<head>
<title><?php echo $myfavtitle;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JavaScript">

 function show(o){
 if (o.style.display=='none') {
 o.style.display='';
 hand.innerHTML="关闭PHP环境变量显示";
 }
 else {
 o.style.display='none';
 hand.innerHTML="打开PHP环境变量显示";
 }
}

function check(message)
{
if(confirm(message)==false)
return false;
}
</script>
<style type="text/css">
td { font-size: 9pt}
body { font-size: 9pt}
select { font-size: 9pt}
A {color:black;text-decoration: none; font-size: 9pt}
A:hover {text-decoration:underline;color: #CC0000;font-size:9pt}
A.visited{color:black;text-decoration: none; font-size: 9pt}
.input{BACKGROUND: white; BORDER-BOTTOM-COLOR: black; BORDER-LEFT-COLOR: black; BORDER-RIGHT-COLOR: black; BORDER-TOP-COLOR: black; FONT: 16px "宋体"; HEIGHT: 20px; MARGIN: 0px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px}
.button{BACKGROUND: white;FONT: 12px "宋体"; HEIGHT: 18px; MARGIN: 0px;}
</style>
</head>
<body bgcolor="#6699cc" leftmargin=0 topmargin=0>
<br>
<center>
<?php
############################
if($HTTP_GET_VARS['rootdir']!="") {
$rootdir=$HTTP_GET_VARS['rootdir'];
$dir=$HTTP_GET_VARS['dir'];
}
if($HTTP_GET_VARS['action']=="view_phpinfo"){
phpinfo();
echo "<p align=\"center\"><button onClick=\"JavaScript:window.close(this.window);\">关闭窗口</button></p>";
copyright();
exit;
}
############################
if(($HTTP_SESSION_VARS["session_name"]!=$rootname)||($HTTP_SESSION_VARS["session_pass"]!=$password))
{
  // echo "<script>alert(\"$HTTP_SESSION_VARS[session_name]---$HTTP_SESSION_VARS[session_pass]--->$session_name\");</script>";
session_unregister("session_name");
session_unregister("session_pass");
?>
<form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="post">
<input type="hidden" name="login" value="ok">
<table cellspacing=1 cellpadding=3 width=500 bgcolor="black" align="center">
<tr bgcolor="white"><td><?php echo $err;?></td></tr>
<tr><td align="center"><font color=white><?php echo $myfavtitle;?></font></td></tr>
<tr bgcolor="gray"><td>姓名：<input type="text" name="loginname"></td></tr>
<tr bgcolor="gray"><td>密码：<input type="password" name="loginpass"></td></tr>
<tr><td align="center"><input type="submit" value="登入管理"></td></tr>
</table>
</form>
<?php
exit;
}
?>
<?php
################改名操作
if($HTTP_GET_VARS["action"]=="rname")
{
if(is_dir($HTTP_GET_VARS["file"])) $msg="目录";
else $msg="文件";
?>
<p>
<table cellspacing=1 cellpadding=2 width=650 align="center" bgcolor="black">
<tr><form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="put"><td align="center"><font color=yellow><?php echo $msg."改名操作";?></font></td></tr>
<tr bgcolor="gray"><td align="center">
<input type="hidden" name="rootdir" value="<?php echo $HTTP_GET_VARS["rootdir"];?>">
<input type="hidden" name="dir" value="<?php echo $HTTP_GET_VARS["dir"];?>">
<input type="hidden" name="file" value="<?php echo $HTTP_GET_VARS["file"];?>">
<input type="hidden" name="f" value="rname">
想把<?php echo $msg;?><font color="yellow"><?php echo $HTTP_GET_VARS["file"];?></font>改名为：<input type="text" name="newname" value="">&nbsp;<input type="submit" value="确定改名">
<br>
<?php
back($HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$HTTP_GET_VARS["dir"]);
?>
</td></form></tr></table>
</p>
<?php
}
elseif($HTTP_GET_VARS["f"]=="rname")
 {
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $file=$HTTP_GET_VARS["file"];
   $newname=$HTTP_GET_VARS["newname"];
   if(!eregi("^([a-z]|[0-9])+[A-Za-z_0-9.]",$newname)) error("目录或文件的命名只能以字母数字加下划线的组合，并且首字符必须为字母或数字！<br>文件或目录的命名至少要两个字符");
   if(file_exists($dir."/".$newname))  error("新的".$msg."名".$newname."已经存在");
   if(!@rename($rootdir.$dir."/".$file,$rootdir.$dir."/".$newname)) error("修改".$msg."(".$newname.")失败，请检查权限是否足够");
   right("修改".$msg."\"".$file."\"为\"".$newname."\"成功");
 }
#################文件改名结束
#################修改文件
elseif($HTTP_GET_VARS["action"]=="mname")
{
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $file=$HTTP_GET_VARS["file"];
//--------------------------------------
$fp=fopen($rootdir.$dir."/".$file,"r");
$content=fread($fp,filesize($rootdir.$dir."/".$file));
$content=str_replace("</textarea>","[/textarea]",$content);
$content=str_replace("</TEXTAREA>","[/textarea]",$content);
$content=str_replace("&nbsp;","[&nb&sp;]",$content);
$content=str_replace("&NBSP;","[&nb&sp;]",$content);
fclose($fp);
?>
<form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="POST">
<p>
<table cellspacing=1 cellpadding=2 width=650 align="center" bgcolor="black">
<tr><td align="center"><font color=yellow>修改文件</font></td></tr>
<tr bgcolor="gray"><td align="center">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
<input type="hidden" name="file" value="<?php echo $file;?>">
<input type="hidden" name="f" value="mname">
<TEXTAREA name="content" cols=85 rows=23><?php echo $content;?></TEXTAREA>
<br>
文件名：<font color=yellow><?php echo $file;?></font>
<hr size=1 color=black width=100% align=center>
<input type="submit" value="确定修改" onClick="return check('确定要修改文件<?php echo $file;?>吗？')">
<br>
<?php
back($HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir);
?>
</td></tr></table>
</form>
<?php
}
elseif($HTTP_POST_VARS["f"]=="mname")
{
   $dir=$HTTP_POST_VARS["dir"];
   $rootdir=$HTTP_POST_VARS["rootdir"];
   $file=$HTTP_POST_VARS["file"];
   $content=$HTTP_POST_VARS["content"];
//----------------------------------------
$content=str_replace("</textarea>","[/textarea]",$content);
$content=str_replace("[&nb&sp;]","&nbsp;",$content);
$msg=stripslashes($content);
$fp=@fopen($rootdir.$dir."/".$file,"w");
if(!$fp) error("文件".$file."修改失败，请检查权限是否足够!<br>当前目录：".$rootdir.$dir);
if(fwrite($fp,$msg)=="-1") error("文件".$file."修改失败，请检查权限是否足够!");
fclose($fp);
right("文件".$file."已经成功修改");
}
#################文件修改结束
#################删除文件或目录
elseif($HTTP_GET_VARS["action"]=="dname")
{
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $file=$HTTP_GET_VARS["file"];
//-----------------------------------------
if(is_dir($file)) $msg="目录";
else $msg="文件"
?>
<form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="put">
<p>
<table cellspacing=1 cellpadding=2 width=650 align="center" bgcolor="black">
<tr><td align="center"><font color=yellow>确定删除<?php echo $msg."<font color=white>".$file."</font>";?>吗？</font></td></tr>
<tr bgcolor="gray"><td align="center">
<input type="hidden" name="f" value="delfile2">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
<input type="hidden" name="file" value="<?php echo $file;?>">
<input type="submit" value="确定">&nbsp;<input type="button" value="取消" onClick="JavaScript:window.history.back(-1);">
<?php
}
elseif($HTTP_GET_VARS["f"]=="delfile2")
{
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $file=$HTTP_GET_VARS["file"];
//-------------------------------------
 if(is_dir($file))
   {
     if(!@rmdir($rootdir.$dir."/".$file)) error("删除目录".$file."失败，请检查权限是否足够或该目录是否为空！");
     right("删除目录".$file."成功");
   }
   else
   {
     if(!@unlink($rootdir.$dir."/".$file)) error("删除文件".$file."失败，请检查权限是否足够！");
     right("删除文件".$file."成功");
   }
}
#################删除结束
################建立目录
elseif($HTTP_GET_VARS["action"]=="createdir")
{
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $dirname=$HTTP_GET_VARS["dirname"];
   $newname=$HTTP_GET_VARS["newname"];
//---------------------------------------
if(!eregi("^([a-z]|[0-9])+[a-z_0-9.]",$dirname)) error("目录的命名只能以字母数字加下划线的组合，并且首字符必须为字母或数字！<br>目录的命名至少要两个字符!");
if(file_exists($rootdir.$dir."/".$dirname)) error("目录名".$newname."已经存在，请换个目录名称!");
if(mkdir($rootdir.$dir."/".$dirname,0777)) right("目录".$newname."已经成功建立!");
else error("建立目录".$dirname."失败，请检查权限是否足够!<br>当前目录：".$rootdir.$dir);
}
###############建立目录结束
##############建立文件
elseif($HTTP_GET_VARS["action"]=="createfile")
{
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $filename=$HTTP_GET_VARS["filename"];
//--------------------------------------------
if(!eregi("^([a-z]|[0-9])+[a-z_0-9]",$filename)) error("文件名命名只能以字母数字加下划线的组合，并且首字符必须为字母或数字！<br>文件的命名至少要两个字符!");
?>
<form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="POST">
<p>
<table cellspacing=1 cellpadding=2 width=650 align="center" bgcolor="black">
<tr><td align="center"><font color=yellow>新建文件</font></td></tr>
<tr bgcolor="gray"><td align="center">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
<input type="hidden" name="filename" value="<?php echo $filename;?>">
<input type="hidden" name="f" value="savefile">
<TEXTAREA name="content" cols=85 rows=23><?php echo $content;?></TEXTAREA>
<br>
新建的文件名：<font color=yellow><?php echo $filename;?></font>
<hr size=1 color=black width=100% align=center>
是否覆盖原文件？&nbsp;&nbsp;是<input type="radio" name="save_flag" value="y">&nbsp;否<input type="radio" name="save_flag" value="n" checked>
<input type="submit" value="保存文件" onClick="return check('确定要保存文件<?php echo $filename;?>吗？')">&nbsp;<input type="reset" value="清空重写">
<br>
<?php
back($HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir);
?>
</td></tr></table>
</form>
<?php
}
elseif($HTTP_POST_VARS["f"]=="savefile")
{
   $dir=$HTTP_POST_VARS["dir"];
   $rootdir=$HTTP_POST_VARS["rootdir"];
   $content=$HTTP_POST_VARS["content"];
   $filename=$HTTP_POST_VARS["filename"];
   $save_flag=$HTTP_POST_VARS["save_flag"];
//-----------------------------------------
$content=stripslashes($content);
if(($save_flag!="y")&&(file_exists($rootdir.$dir."/".$filename))) error("文件".$filename."已经存在并且你选择了不覆盖原文件!");
$fp=@fopen($rootdir.$dir."/".$filename,"w");
if(!$fp) error("文件".$filename."建立失败，请检查权限是否足够!<br>当前目录：".$rootdir.$dir);
if(@fwrite($fp,$content)=="-1") error("文件".$filename."建立失败，请检查权限是否足够!");
fclose($fp);
if(!chmod($rootdir.$dir."/".$filename,0777)) $err="改变文件权限失败！";
right("文件".$filename."已经成功建立!<br>".$err);
}
#############建立文件结束
############上传文件
elseif($HTTP_GET_VARS["action"]=="upload")
{
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
//-----------------------------------------
?>
<P>
<form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="put">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
<input type="hidden" name="f" value="upload2">
<table cellspacing=1 cellpadding=3 width=600 bgcolor="black" align="center">
<tr><td align="center"><font color=yellow>上传文件第1步</font></td></tr>
<tr bgcolor=gray align="center"><td>请输入本次要上传文件的个数：<INPUT type="text" name="upload_num" value="5" size=5>&nbsp;<input type="submit" value="下一步"><br><?php
back($HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir);
?></td></tr>
</table>
</form>
</P>
<?php
}
elseif($HTTP_GET_VARS["f"]=="upload2")
{
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $upload_num=$HTTP_GET_VARS["upload_num"];
//-----------------------------------------
if(!eregi("[0-9]",$upload_num)) error("上传文件的个数只能为数字！");
if($upload_num<1) error("上传文件的个数至少为1！");
?>
<P>
<form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"]."?rootdir=".$rootdir;?>" method="POST" enctype="multipart/form-data">
<input type="hidden" name="upload_num" value="<?php echo $upload_num;?>"
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
<input type="hidden" name="f" value="upload3">
<table cellspacing=1 cellpadding=3 width=600 bgcolor="black" align="center">
<tr><td align="center"><font color=yellow>上传文件第2步</font></td></tr>
<?php
for($i=1;$i<=$upload_num;$i++)
{
if($bg=="white") $bg="gray";
else $bg="white";
echo "<tr bgcolor=\"".$bg."\"><td>请选择文件".$i."<input type=\"file\" name=\"upfile[]\"></td></tr>";
}
?>
<tr bgcolor="gray"><td>遇到同名的文件是否覆盖？&nbsp;&nbsp;是<input type="radio" name="up_flag" value="y">&nbsp;否<input type="radio" name="up_flag" value="n" checked>
<tr align="center"><td><input type="submit" value="上传"><hr size=1 color=white ALIGN=cneter width=100%><a href="JavaScript:window.history.back(-1);"><-后退</a></td></tr>
</table>
</form>
</p>
<?php
back($HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir);
}
elseif($HTTP_POST_VARS["f"]=="upload3")
{
   $upcheck=FALSE;
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $dir=$HTTP_POST_VARS["dir"];
   $up_flag=$HTTP_POST_VARS["up_flag"];
   $upload_num=$HTTP_POST_VARS["upload_num"];

  // echo $HTTP_POST_VARS['upfile']."--".$HTTP_POST_FILES['upfile'][0]."<br>";exit;
  // echo "<script>alert(\"".$tt['tmp_name'][0]."\");</script>";

//--------------------------------------------
  for($i=0;$i<$upload_num;$i++)
  {
    if(!$HTTP_POST_FILES['upfile']['name'][$i]) continue;
    $upname=$HTTP_POST_FILES['upfile']['name'][$i];

    if(file_exists($rootdir.$dir."/".$upname)&&($up_flag!="y"))
     {
      $upfailed=$upfailed.",".$HTTP_POST_FILES['upfile']['name'][$i];
      continue;
     }

    //  echo "<script>alert(\"->".$upname."\")</script>";
     $i1=$i+1;
     if (is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'][$i]))
     {
      if(!copy($HTTP_POST_FILES['upfile']['tmp_name'][$i],$rootdir.$dir."/".$upname)) error("上传第".$i1."文件(".$upname.")失败，请检查是否有足够的权限！");
     }
    $p++;
    $upcheck=true;
  }
      if(!$upcheck)
         error("发生错误!没有任何文件上传!");
      $tmparr=explode(",",$upfailed);
      $num=sizeof($tmparr)-1;
      if($num>=1) $err="<br>有<font color=red>".$num."</font>个文件未能成功上传";
      right("上传文件成功，共上传".$p."个文件".$err);
}
###########上传文件结束
#######################删除多个文件
elseif($HTTP_GET_VARS["f"]=="del_morefile")
{
   $dir=$HTTP_GET_VARS["dir"];
   $rootdir=$HTTP_GET_VARS["rootdir"];
   $filearr=$HTTP_GET_VARS["filearr"];
//----------------------------------------
$d1=0;
$d2=0;
$f1=0;
$f2=0;
$deldir=false;
$delfile=false;
if(!sizeof($filearr)) error("没有选中任何文件或文件夹，所以无法删除");
  for($i=0;$i<sizeof($filearr);$i++)
  {
    if(is_dir($rootdir.$dir."/".$filearr[$i]))
     {
       $deldir=true;
       if(!@rmdir($rootdir.$dir."/".$filearr[$i])) {$err_dir=$err_dir."删除目录<font color=#b50000>".$filearr[$i]."</font>失败<br>";$d1++;}
       else {$ok_dir=$ok_dir."删除目录<font color=blue>".$filearr[$i]."</font>成功<br>";$d2++;}
     }
     else
      {
        $delfile=true;
        if(!@unlink($rootdir.$dir."/".$filearr[$i])) {$err_file=$err_file."删除文件<font color=red>".$filearr[$i]."</font>失败<br>";$f1++;}
        else {$ok_file=$ok_file."删除文件<font color=blue>".$filearr[$i]."</font>成功<br>";$f2++;}
      }
  }
  if($deldir)
   {
?>
   <table cellspacing=1 cellpadding=3 width=500 bgcolor="black" align="center">
   <tr><td align="center"><font color=white>删除目录结果</font></td></tr>
   <tr bgcolor="white"><td align="center">当前路径：<font color=#9800cc><?php echo $rootdir.$dir;?></font></font></td></tr>
   <tr bgcolor="white"><td><br><p><?php echo $err_dir;?></p></td></tr>
   <tr bgcolor="white"><td><br><p><?php echo $ok_dir;?></p></td></tr>
   <tr bgcolor="white"><td><br>失败删除个数：<font color=red><?php echo $d1;?></font>&nbsp;&nbsp;成功删除<font color=blue><?php echo $d2;?></font>个</p></td></tr>
   </table>
   <br>
<?php
    }
    if($delfile)
    {
?>
   <table cellspacing=1 cellpadding=3 width=500 bgcolor="black" align="center">
   <tr><td align="center"><font color=white>删除文件结果</font></td></tr>
   <tr bgcolor="white"><td align="center">当前路径：<font color=#9800cc><?php echo $rootdir.$dir;?></font></font></td></tr>
   <tr bgcolor="white"><td><br><p><?php echo $err_file;?></p></td></tr>
   <tr bgcolor="white"><td><br><p><?php echo $ok_file;?></p></td></tr>
   <tr bgcolor="white"><td><br>失败删除个数：<font color=red><?php echo $f1;?></font>&nbsp;&nbsp;成功删除<font color=blue><?php echo $f2;?></font>个文件</p></td></tr>
   </table>
<?php
    }
    echo "<p>";
    back($HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir);
    echo "</p>";
}
######################删除多个文件结束
##########退出管理
elseif($HTTP_GET_VARS["action"]=="logout")
{
  session_destroy();
  //echo "<script>alert(\"".$HTTP_GET_VARS["action"]."\");</script>";
  right("退出成功");
}
#########退出管理结束
else
 {
  $dir=$HTTP_GET_VARS['dir'];
##################
?>
<table cellspacing=1 cellpadding=3 width=650 bgcolor="#ccceee" align="center">
<form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="put" name="form1" onSubmit="return check('是否确定删除？')">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
<input type="hidden" name="f"  value="del_morefile">
<tr bgcolor="#cccddd"><td align="left" colspan=8>当前绝对路径：<font color=#9800ff><?php echo $rootdir.$dir."/";?></font>&nbsp;&nbsp;&nbsp;<span style="font-size:13px;color:blue">这种颜色显示为目录</span>&nbsp;<span style="font-size:13px;color:black">这种颜色显示为文件</span></td></tr>
<tr bgcolor="#cdedcd" align="center"><td><a href="JavaScript:ONCLICK=CheckAll()">全选</a>/<a href="JavaScript:ONCLICK=CheckAll1()">反选</a></td><td>文件名</td><td>改名</td><td>修改</td><td>删除</td><td>大小</td><td>属性</td><td>修改时间</td></tr>
<?php
 $thisdir=$rootdir.$dir."/";
 $getdotfilearr=array();
 $d=dir($thisdir);
 while($entry=$d->read())
  {
   $search_flag=false;
   if($changebg=="#eaeaea")  $changebg="#fefefe";
   else $changebg="#eaeaea";
 if(($HTTP_GET_VARS["action"]=="search")&&($HTTP_GET_VARS['search_file']!=""))
 {
   if($HTTP_GET_VARS["search_file"]==$entry||is_integer(strpos($entry,$HTTP_GET_VARS['search_file'])))
   {
   $search_flag=true;
 if(!is_dir($thisdir."/".$entry))
    {
     $count_file++;
     $tmpurl=strrpos($HTTP_SERVER_VARS["PHP_SELF"],"/");
     $tmpurl1=substr($HTTP_SERVER_VARS["PHP_SELF"],0,$tmpurl);
     $ev="<a href=\"".$tmpurl1.$dir."/".$entry."\" target=\"_blank\">".str_replace($HTTP_GET_VARS[search_file],"<font color=red>$HTTP_GET_VARS[search_file]</font>",$entry)."</a>";
     $rname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=rname&dir=".$dir."&rootdir=".$rootdir."\">改名</a>";
     $tmp=explode(".",$entry);
     $endstr=$tmp[sizeof($tmp)-1];
     if (in_array($endstr,$moditype)||(!strpos(".",$entry))) //可以在线编辑修改的文件类型
     $mname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=mname&dir=".$dir."&rootdir=".$rootdir."\">修改</a>";
     else $mname="&nbsp;";
     $dname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=dname&dir=".$dir."&rootdir=".$rootdir."\">删除</a>";
     $sname=filesize($rootdir.$dir."/".$entry)."kb";
     $pname=fileperms($rootdir.$dir."/".$entry)&0777;
     $tname=filemtime($rootdir.$dir."/".$entry);
    }
    else
    {
    $count_dir++;
    $ev="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir."/".$entry."\"><font color=blue>→▓".str_replace($HTTP_GET_VARS[search_file],"<font color=red>$HTTP_GET_VARS[search_file]</font>",$entry)."</font></a>";
    $rname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=rname&dir=".$dir."&rootdir=".$rootdir."\">改名</a>";
    $mname="&nbsp;";
    $dname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=dname&dir=".$dir."&rootdir=".$rootdir."\" title=\"请确定该目录为空\">删除</a>";
    $sname="&nbsp;";
    $pname=fileperms($rootdir.$dir."/".$entry)&0777;
    $tname=filemtime($rootdir.$dir."/".$entry);
    }
    echo "<tr bgcolor=\"".$changebg."\" align=\"center\"><td><input type=\"checkbox\" name=\"filearr[]\" value=\"".$entry."\"></td><td align=\"left\">".$ev."</td><td>".$rname."</td><td>".$mname."</td><td>".$dname."</td><td>".$sname."</td><td>".sprintf("%o",$pname)."</td><td>".date("Y-m-d H:i:s",$tname)."</td></tr>";
//    break;
   }
 }
 else
 {
   $filetype=$HTTP_GET_VARS['filetype'];
   if($entry==basename($HTTP_SERVER_VARS["PHP_SELF"])) continue;
   ################### 取得所有文件的扩展名，目录除外
   $tmpdot=strrpos($entry,".");
   if(!in_array(substr($entry,$tmpdot,strlen($entry)),$getdotfilearr)&&(!is_dir($entry))) $getdotfilearr[]=substr($entry,$tmpdot,strlen($entry));
   ##################
    if($entry==".") continue;
    if($entry=="..")
    {
    if($dir)
       {
        $stat = strrpos($dir,"/");
        $parent_dir = substr($dir,0,$stat);
        echo "<tr bgcolor=#f9f9f9><td colspan=8><a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$parent_dir."\">..返回上级目录↑</a></td></tr>";continue;
       }
       else continue;
    }
    if(!is_dir($thisdir."/".$entry))
    {

        if($filetype=="showdironly") continue;
       if($filetype!="showfileonly")
       {
        if(($filetype!="showdironly")&&($filetype!=""))
        {
         $tmpdot=strrpos($entry,".");
         if(substr($entry,$tmpdot,strlen($entry))!=$filetype) continue;
        }
       }
     $count_file++;
     $tmpurl=strrpos($HTTP_SERVER_VARS["PHP_SELF"],"/");
     $tmpurl1=substr($HTTP_SERVER_VARS["PHP_SELF"],0,$tmpurl);
     $ev="<a href=\"".$tmpurl1.$dir."/".$entry."\" target=\"_blank\">".$entry."</a>";
     $rname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=rname&dir=".$dir."&rootdir=".$rootdir."\">改名</a>";
     $tmp=explode(".",$entry);
     $endstr=$tmp[sizeof($tmp)-1];
     if (in_array($endstr,$moditype)||(!$tmp[1])) //可以在线编辑修改的文件类型
     $mname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=mname&dir=".$dir."&rootdir=".$rootdir."\">修改</a>";
     else $mname="&nbsp;";
     $dname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=dname&dir=".$dir."&rootdir=".$rootdir."\">删除</a>";
     $sname=filesize($rootdir.$dir."/".$entry)."kb";
     $pname=fileperms($rootdir.$dir."/".$entry)&0777;
     $tname=filemtime($rootdir.$dir."/".$entry);
    }
    else
    {
    if(($filetype)&&($filetype!="showdironly")) continue;
    $count_dir++;
    $ev="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir."/".$entry."\"><font color=blue>→▓".$entry."</font></a>";
    $rname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=rname&dir=".$dir."&rootdir=".$rootdir."\">改名</a>";
    $mname="&nbsp;";
    $dname="<a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?file=".$entry."&action=dname&dir=".$dir."&rootdir=".$rootdir."\" title=\"请确定该目录为空\">删除</a>";
    $sname="&nbsp;";
    $pname=fileperms($rootdir.$dir."/".$entry)&0777;
    $tname=filemtime($rootdir.$dir."/".$entry);
    }
    echo "<tr bgcolor=\"".$changebg."\" align=\"center\"><td><input type=\"checkbox\" name=\"filearr[]\" value=\"".$entry."\"></td><td align=\"left\">".$ev."</td><td>".$rname."</td><td>".$mname."</td><td>".$dname."</td><td>".$sname."</td><td>".sprintf("%o",$pname)."</td><td>".date("Y-m-d H:i:s",$tname)."</td></tr>";
  }
 }
  if(($HTTP_GET_VARS["action"]=="search")&&(!$search_flag))
    echo "<tr bgcolor=\"".$changebg."\"><td align=\"center\" colspan=8><a href=\"JavaScript:window.history.back(-1);\">没有搜索到任何文件或文件夹,点击此处返回</a></td></tr>";
  $d->close();
  if(!$count_dir) $count_dir=0;
  if(!$count_file) $count_file=0;
?>
<tr align="center" bgcolor="#336699"><td colspan=8><input type="submit" value="删除选中的文件或文件夹"></td></tr>
</form>
<form ACTION="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="put">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
<tr><td align="left" colspan=8>
<select size=1 name="filetype">
<option value="">自定义显示</option>
<option value="">所有目录和文件</option>
<option value="showdironly">所有目录</option>
<option value="showfileonly">所有文件</option>
<?php
switch($filetype)
{
case "showdironly":$showmsg="所有目录";break;
case "showfileonly":$showmsg="所有文件";break;
default:$showmsg=$filetype;break;
}
if($filetype=="") $showmsg="所有目录和文件";
for($i=0;$i<sizeof($getdotfilearr);$i++)
{;
echo "<option value=\"".$getdotfilearr[$i]."\">".$getdotfilearr[$i]."的文件</option>";
}
?>
</select>
<input type="submit" value="显示" class="button">(<font color=black>当前显示：<?php echo $showmsg;?></font>)
<?php
if($HTTP_GET_VARS["action"]=="search")
{
?>
<font color=black>搜索统计：当前目录下共搜索到文件<font color=yellow><?php echo $count_file;?></font>个，目录<font color=yellow><?php echo $count_dir;?></font>个</font></td></tr>
<?php
}
else
{
?>
<font color=black>信息统计：当前目录下共有文件<font color=yellow><?php echo $count_file;?></font>个，共有目录<font color=yellow><?php echo $count_dir;?></font>个</font></td></tr>
<?php
}
?>
</form>
<form action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="put">
<tr bgcolor="#336699"><td colspan=8 align="left"><font style="font-size:14px;color:white">搜索当前目录下的文件或文件夹:</font><input type="text" name="search_file" value="<?php echo $HTTP_GET_VARS['search_file'];?>">
<input type="hidden" name="action" value="search">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
<input type="submit" value="搜索">
</td></tr>
</form>
</table>
<br>
<table cellspacing=1 cellpadding=2 width=650 align="center" bgcolor="#336699">
<tr><td align="center" colspan=2><font color=white>新建操作</font></td></tr>
<tr bgcolor="#cdcdcd"><td colspan=2>
<form  action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="put">
<input type="hidden" name="action" value="createdir">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
新建目录，请输入新目录名<input type="text" name="dirname" value="dirname" onClick="this.value=''" class="input">&nbsp;<input type="submit" value="建立目录">
</td></form></tr>
<tr bgcolor="#cdcdcd"><td colspan=2>
<form  action="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>" method="put">
<input type="hidden" name="action" value="createfile">
<input type="hidden" name="rootdir" value="<?php echo $rootdir;?>">
<input type="hidden" name="dir" value="<?php echo $dir;?>">
新建文件，请输入新文件名<input type="text" name="filename" value="hello.php" onClick="this.value=''" class="input">&nbsp;<input type="submit" value="建立文件">
</td></form></tr>
<tr><td><a href="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>?action=upload&dir=<?php echo $dir;?>&rootdir=<?php echo $rootdir;?>"><font color=yellow>点击此处上传文件到该目录↑</font></a></td><td align="right"><a href="<?php echo $HTTP_SERVER_VARS["PHP_SELF"];?>?action=logout"><font color=white>[退出管理]</font></a></td></tr>
</table>
<?php
}
?>
<script language="javascript">
<!--
        function CheckAll()
        {
                var i;
                for (i=0; document.form1.elements[i]; i++)
                {
                        if(document.form1.elements[i].type == "checkbox")
                        {
                                document.form1.elements[i].checked = true;
                        }
                }
        }
        function CheckAll1()
        {
                var i;
                for (i=0; document.form1.elements[i]; i++)
                {
                        if(document.form1.elements[i].type == "checkbox")
                        {
                                if(document.form1.elements[i].checked == true)
                                     document.form1.elements[i].checked = false;
                                else document.form1.elements[i].checked = true;
                        }
                }
        }
-->
</script>
<span id="phpserver" style="display:none">
<table cellspacing=1 cellpadding=3 width=650 bgcolor=#339900 align="center">
<?php
echo "<tr bgcolor=\"#ccddee\"><td colspan=2>PHP服务器信息</td></tr>";
foreach($HTTP_SERVER_VARS as $key=>$var)
 {
  echo "<tr bgcolor=white><td>$key</td><td>$var</td></tr>";
 }
echo "<tr bgcolor=\"#ccddee\"><td colspan=2>PHP&nbsp;COOKIE信息</td></tr>";
foreach($HTTP_COOKIE_VARS as $key=>$var)
 {
  echo "<tr bgcolor=white><td>$key</td><td>$var</td></tr>";
 }
echo "<tr bgcolor=\"#ccddee\"><td colspan=2>PHP&nbsp;GET方法信息</td></tr>";
foreach($HTTP_GET_VARS as $key=>$var)
 {
  echo "<tr bgcolor=white><td>$key</td><td>$var</td></tr>";
 }
echo "<tr bgcolor=\"#ccddee\"><td colspan=2>PHP&nbsp;POST方法信息</td></tr>";
foreach($HTTP_POST_VARS as $key=>$var)
 {
  echo "<tr bgcolor=white><td>$key</td><td>$var</td></tr>";
 }
?>
</table>
</span>
<p align="center"><a href="JavaScript:show(phpserver)"><span id="hand">显示PHP环境变量</span></a>&nbsp;&nbsp;<a href="<?php echo $HTTP_SERVER_VARS['PHP_SELF']."?action=view_phpinfo";?>" target="_blank">查看函数phpinfo()的信息</a>
<form method="put" action="http://www.php.net/search.php" class="thin"  target="_blank">
<input type="hidden" name="lang" value="en_US">
<input type="text" name="pattern" value="PHP函数速查" size="20" onClick="this.value=''">
<select name="show" class="small">
<option value="quickref" selected>function list
<option value="nosource">whole site
<option value="manual">online documentation
<option value="bugdb">bug database
<option value="maillist">general mailing list
<option value="devlist">developer mailing list
<option value="phpdoc">documentation mailing list
</select><input type="submit" align="bottom" style="border-style: none; border-color: #FFFFFF" value="search" />
</form>
<br>
</p>
<?php
copyright();
?>
</center>
</body>
</html>
<?php
//定义一些函数
##########################
function killhtml($msg)
{
 $msg=trim($msg);
 $msg=htmlspecialchars($msg);
 return msg;
}
##########################
function error($msg)
{
 echo "<table cellspacing=1 cellpadding=3 width=500 bgcolor=\"black\" align=\"center\" height=200><tr><td align=\"center\"><font color=\"yellow\">发生错误!!!!!</font></td></tr>";
 echo "<tr bgcolor=\"white\"><td><p>错误原因：<br><br><b>".$msg."</b></b></p></td></tr><tr><td align=\"center\"><a href=\"JavaScript:window.history.back(-1);\"><font color=white><-返回</font></a></td></tr></table>";
 exit;
}
##########################
function right($msg)
{
 global $dir;
 echo "<meta HTTP-EQUIV=\"REFRESH\" CONTENT=\"2;URL=".$HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir."\">";
 echo "<table cellspacing=1 cellpadding=3  bgcolor=\"black\" align=\"center\" height=200><tr><td align=\"center\"><font color=\"yellow\">操作成功!!!!!</font></td></tr>";
 echo "<tr bgcolor=\"white\"><td><p><br><b>".$msg."</b></b></p></td></tr><tr><td align=\"center\"><a href=\"".$HTTP_SERVER_VARS["PHP_SELF"]."?dir=".$dir."\"><font color=yellow>点击此处返回文件列表-></font></a></td></tr></table>";
 exit;
}
##########################
function back($url)
{
echo "<a href=\"".$url."\" title=\"返回".$url."\">返回</a>";
}
##########################
function copyright()
{
 global $version;
 echo "<table cellspacing=1 cellpadding=3 width=\"100%\" bgcolor=\"white\" align=\"center\"><tr><td align=\"center\"><hr size=1 color=#b50000 align=\"center\" width=760>Copyright(c)[2002-".date("Y")."] <a href=\"http://2002.buyionline.net\" target=\"_blank\" title=\"PHP开放代码\">http://2002.buyionline.net</a> All Rights Reserved($version)</td></tr></table>";
}
?>