php批量修改windows目录权限程序
我们经常会碰到一些问题像目录权限无法访问了,这时可能有几百或上千个文件或文件目录,下面我写了一个利用php来批量更改目录权限的实例,代码如下:
<?php //获取文件目录列表,该方法返回数组 function getDir( $dir =]) { $dir = empty 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 PUBLIC [- //W3C//DTD XHTML 1.0 Transitional//EN] [http://HdhCmsTestw3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd]> <html xmlns=]http: //HdhCmsTestw3.org/1999/xhtml]> <head> <meta http-equiv=]Content-Type] content=]text/html; charset=utf-8″ /> <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 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(‘请先选择目录!’); return false; } if (User.value==]"){ alert(‘请输入Internet 来宾帐户!’); 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>查看更多关于php批量修改windows目录权限程序 - php高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30132