首页 > php代码 > php批量修改windows目录权限程序

php批量修改windows目录权限程序

我们经常会碰到一些问题像目录权限无法访问了,这时可能有几百或上千个文件或文件目录,下面我写了一个利用php来批量更改目录权限的实例。

<?php
//获取文件目录列表,该方法返回数组
function getDir($dir = '') {
    $dir = empty($dir) ? getcwd() : $dir;
    $dirArray[] = NULL;
    if (false != ($handle = opendir($dir))) {
        $i = 0;
        while (false !== ($file = readdir($handle))) {
            //去掉""."、".."以及带".xxx"后缀的文件
            if ($file != "." && $file != ".." && !strpos($file, ".")) {
                $dirArray[$i] = $file;
                $i++;
            }
        }
        //关闭句柄
        closedir($handle);
    }
    return $dirArray;
}
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-" />
<title>目录权限批量设置</title>
<style>
body {
    font:12px/22px "Microsoft YaHei", SimSun;
}
input, select, texteare, button {
    font-family:"Microsoft YaHei", SimSun;
}
</style>
</head>
<body>
<?php
if (empty($_POST)) {
?>
<form action="" method="post"  onsubmit="return check();">
<h2>当前目录:<?php
    echo getcwd(); ?></h2>
<div>
  <fieldset>
    <legend>网站目录</legend>
    <div>
      <ul>
<?php
    $dirArr = getDir();
    if (is_array($dirArr)) {
        foreach ($dirArr as $dir) {
?>
        <li>
          <label>
            <input name="directory[]" type="checkbox" value="<?php
            echo $dir; ?>" />
           <?php
            echo $dir; ?></label>
        </li>
<?php
        }
    }
?>
      </ul>
        <div>
        <input id="CheckALL" type="button" onclick="checkAll();" value="全选" />
        <input id="NoCheckAll" type="button" onclick="noCheckAll();" value="全不选" />
        <input id="inverse" type="button" onclick="inverseCheck()" value="反选" />
         </div>
    </div>
  </fieldset>
</div>
<div>
  <fieldset>
    <legend>目录权限</legend>
    <div>
      <select name="Perm">
        <option value="N" selected="selected">N-无</option>
        <option value="R">R-读取</option>
        <option value="W">W-写入</option>
        <option value="C">C-更改(写入)</option>
        <option value="F">F-完全控制</option>
      </select>
<!--
/G user:perm  赋予指定用户访问权限。
              Perm 可以是: R  读取
                          W  写入
                          C  更改(写入)
                          F  完全控制
/P user:perm  替换指定用户的访问权限。
              Perm 可以是: N  无
                          R  读取
                          W  写入
                          C  更改(写入)
                          F  完全控制
-->
    </div>
  </fieldset>
</div>
<div>
  <fieldset>
    <legend>来宾帐户</legend>
    <div>
      Internet 来宾帐户: <input name="User" id="User" type="text" value="" />
    </div>
  </fieldset>
</div>
<div style="margin-top:20px; padding-left:20px;">
  <input type="submit" value="提交" />
</div>
</form>
<script type="text/javascript">
    var all = document.getElementById("CheckALL"); //全选
    var single = document.getElementsByName("directory[]"); //选项
    var noAll = document.getElementById("NoCheckAll"); //不全选
    var inverse = document.getElementById("inverse"); //反选
    var User = document.getElementById("User"); //SiteId
    function checkTrue() {
        for (var i = 0; i < single.length; i++) {
            single[i].checked = true;
        }
    }
    function checkFalse() {
        for (var i = 0; i < single.length; i++) {
            single[i].checked = false;
        }
    }
    //全选
    function checkAll() {
        if (all.disabled == false) {
            noAll.disabled = false;
            checkTrue();
        }
        else {
            noAll.disabled = true;
            checkFalse();
        }
        all.disabled = true;
    }
    //全不选
    function noCheckAll() {
        if (noAll.disabled == false) {
            all.disabled = false;
            checkFalse();
        }
        else {
            all.checked = true;
            checkTrue();
        }
        noAll.disabled = true;
    }
    //反选
    function inverseCheck() {
        noAll.disabled = false;
        all.disabled = false;
        for (var i = 0; i < single.length; i++) {
            single[i].checked = !single[i].checked;
        }
    }
    function check(){
        var checkd_sum;
        checkd_sum=0;
        for (var i = 0; i < single.length; i++) {
            if(single[i].checked ==true){
            checkd_sum++;
            }
        }
        if(checkd_sum==0){
            alert(&lsquo;请先选择目录!&rsquo;);
            return false;
        }
        if(User.value==""){
            alert(&lsquo;请输入Internet 来宾帐户!&rsquo;);
            return false;
        }
        return true;
    }
</script>
<?php
} else {
    $directorys = @$_POST['directory'];
    $Perm = trim(@$_POST['Perm']);
    $User = trim(@$_POST['User']);
?>
<div>
<pre>
@echo off
<?php
    $BASE_DIR = getcwd();
    if (is_array($directorys)) {
        foreach ($directorys as $directory) {
            echo <<<EOF
echo Y|cacls {$BASE_DIR}{$directory} /T /E /C /G {$User}:{$Perm} <br/>
EOF;
            
        }
    }
?>
pause
</pre>
</div>
<?php
}
?>
</body>
</html>


本文地址:http://www.phprm.com/code/52722.html

转载随意,但请附上文章地址:-)

标签:foreach checkbox select opendir

相关文章

发表留言