当前位置:Linux教程 - Php - 在服务端进行目录建立、删除,文件上传、删除的过程

在服务端进行目录建立、删除,文件上传、删除的过程

<?php
  extract($_POST);
  extract($_GET);

?>
<html>
<head>
<title>查看服务器端目录和文件</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>">
  <font color="#006633">输入目录名: </font>
  <input type="text" name="InputDirRoot" value="<?=$InputDirRoot?>">
  <input type="submit" name="Submit" value="查看该目录内容">
</form>
<form name="form1" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>">
  <input type=hidden name="method" value="createdir">
  <font color="#006633">输入目录名: </font>
  <input type="text" name="InputDir" value="<?=$InputDirRoot?>">
  <input type="submit" name="Submit" value="建立目录">
</form>
<form name="form1" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>" enctype="multipart/form-data">
  <input type=hidden name="method" value="uploadfile">
  <font color="#006633">上传目录名: </font>
  <input type="text" name="InputDir" value="<?=$InputDirRoot?>">
  <font color="#006633">请选择文件: </font>
  <input type="file" name="UploadFile">    
  <input type="submit" name="Submit" value="上传文件">
</form>
<form name="form1" method="post" action="<?php echo $_SERVER[PHP_SELF]; ?>">
  <input type=hidden name="method" value="drop">
  <font color="#006633">请输入: </font>
  <input type="text" name="Info" value="<?=$InputDirRoot?>">
  <input type="submit" name="Submit" value="删除文件/目录">
</form>
<hr>
<?php
  $n = 0;
  if (isset($InputDirRoot))
  {
    $handle=opendir($InputDirRoot);
    echo "目录列表:<font color=#FF0000>".$InputDirRoot."</font><br><hr>";
    while ($file = readdir($handle))
    {
      $n ++;
      if (is_dir($InputDirRoot."/".$file))
        $file = "<a href=http://www.sheup.com/?\"$_SERVER[PHP_SELF]?InputDirRoot=$InputDirRoot/$file\"><font color=#006600>[".$file."]</font></a>";
      else
        $file = "<a href=http://www.sheup.com/?\"typefile.php?filename=$InputDirRoot/$file\" target=_blank><font color=#993300>".$file."</font></a>";
      echo "  ".$file."<br>";
    }
    closedir($handle);     
  }

   if(isset($method) && isset($InputDir) && strcmp($method,"createdir")==0){//建立目录
    if(is_dir($InputDir)){
        chmod($InputDir,0777);
        echo "目录已存在!权限修改完毕!";
    }else{
        if(@mkdir("$InputDir")){
            echo "目录建立完毕...!";
        }else{
            echo "目录建立失败...!";
        }
        chmod($InputDir,0777);
    }
   }

   if(isset($method) && isset($InputDir) && strcmp($method,"uploadfile")==0){//上传文件或删除文件
    if(is_file($InputDir."/".$_FILES[UploadFile][name])){
        chmod($InputDir."/".$_FILES[UploadFile][name],0777);
        echo "文件存在!已经删除!--您可以重新上传文件";
        unlink($InputDir."/".$_FILES[UploadFile][name]);
    }else{
        if(@copy($_FILES[UploadFile][tmp_name],$InputDir."/".$_FILES[UploadFile][name])){
            echo "文件{$_FILES[UploadFile][name]}正确的拷贝到{$InputDir}内...!";
        }else{
            echo "文件拷贝失败...!";
        }
        chmod($InputDir."/".$_FILES[UploadFile][name],0777);
    }
   }

   if(isset($Info) && strcmp($method,"drop")==0){//删除文件或目录
    if(is_dir($Info)){
        if(rmdir($Info)){
            echo "目录{$Inof}删除完毕";
        }else{
            echo "目录无法删除!原因--可能是目录下还存在文件!";
        }
    }
    if(is_file($Info)){
        if(unlink($Info)){
            echo "文件{$Info}删除完毕...!";
        }else{
            echo "文件{$Info}删除失败...!尝试修改文件权限删除...";
            if(chmod($Info,0777)){
                unlink($Info);
                echo "文件{$Info}权限修改后删除完毕...";
            }else{
                echo "文件{$Info}无法通过WEB方式删除,可能是FTP权限对此文件有所设置...";
            }
        }
    }
   }

echo "<hr>";
echo "总共 $n 项.";