当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-11 14:54:18 浏览: 评论:0 

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

  1. <?php 
  2. //获取文件目录列表,该方法返回数组 
  3. function getDir($dir=”) { 
  4.     $dir=emptyempty($dir) ? getcwd() : $dir
  5.     $dirArray[]=NULL; 
  6.     if (false != ($handle = opendir ( $dir ))) { 
  7.         $i=0; 
  8.         while ( false !== ($file = readdir ( $handle )) ) { 
  9.             //去掉”“.”、“..”以及带“.xxx”后缀的文件 
  10.             if ($file != “.” && $file != “..”&&!strpos($file,”.”)) { 
  11.                 $dirArray[$i]=$file
  12.                 $i++; 
  13.             } 
  14.         } 
  15.         //关闭句柄 
  16.         closedir ( $handle ); 
  17.     } 
  18.     return $dirArray
  19. ?> 
  20. <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> 
  21. <html xmlns=”http://www.w3.org/1999/xhtml”> 
  22. <head> 
  23. <meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> 
  24. <title>目录权限批量设置</title> 
  25. <style> 
  26. body { 
  27.     font:12px/22px “Microsoft YaHei”, SimSun; 
  28. input, select, texteare, button { 
  29.     font-family:”Microsoft YaHei”, SimSun; 
  30. </style> 
  31. </head> 
  32. <body> 
  33. <?php  
  34. if(emptyempty($_POST)){ 
  35. ?> 
  36. <form action=”" method=”post”  onsubmit=”return check();”> 
  37. <h2>当前目录:<?php echo getcwd();?></h2> 
  38. <div> 
  39.   <fieldset> 
  40.     <legend>网站目录</legend> 
  41.     <div> 
  42.       <ul> 
  43. <?php  
  44.       $dirArr=getDir(); 
  45.       if(is_array($dirArr)){ 
  46.           foreach($dirArr as $dir){ 
  47. ?> 
  48.         <li> 
  49.           <label> 
  50.             <input name=”directory[]” type=”checkbox” value=”<?php echo $dir;?>” /> 
  51.            <?php echo $dir;?></label> 
  52.         </li> 
  53. <?php       
  54.           } 
  55.       } 
  56. ?> 
  57.       </ul> 
  58.         <div> 
  59.         <input id=”CheckALL” type=”button” onclick=”checkAll();” value=”全选” /> 
  60.         <input id=”NoCheckAll” type=”button” onclick=”noCheckAll();” value=”全不选” /> 
  61.         <input id=”inverse” type=”button” onclick=”inverseCheck()” value=”反选” /> 
  62.          </div> 
  63.     </div> 
  64.   </fieldset> 
  65. </div> 
  66. <div> 
  67.   <fieldset> 
  68.     <legend>目录权限</legend> 
  69.     <div> 
  70.       <select name=”Perm”> 
  71.         <option value=”N” selected=”selected”>N-无</option> 
  72.         <option value=”R”>R-读取</option> 
  73.         <option value=”W”>W-写入</option> 
  74.         <option value=”C”>C-更改(写入)</option> 
  75.         <option value=”F”>F-完全控制</option> 
  76.       </select> 
  77. <!– 
  78. /G user:perm  赋予指定用户访问权限。 
  79.               Perm 可以是: R  读取 
  80.                           W  写入 
  81.                           C  更改(写入) 
  82.                           F  完全控制 
  83.  
  84. /P user:perm  替换指定用户的访问权限。 
  85.               Perm 可以是: N  无 
  86.                           R  读取 
  87.                           W  写入 
  88.                           C  更改(写入) 
  89.                           F  完全控制 
  90. –> 
  91.     </div> 
  92.   </fieldset> 
  93. </div> 
  94. <div> 
  95.   <fieldset> 
  96.     <legend>来宾帐户</legend> 
  97.     <div> 
  98.       Internet 来宾帐户: <input name=”User” id=”User” type=”text” value=”" /> 
  99.     </div> 
  100.   </fieldset> 
  101. </div> 
  102. <div style=”margin-top:20px; padding-left:20px;”> 
  103.   <input type=”submit” value=”提交” /> 
  104. </div> 
  105. </form> 
  106. <script type=”text/javascript”> 
  107.     var all = document.getElementById(“CheckALL”); //全选 
  108.     var single = document.getElementsByName(“directory[]“); //选项 
  109.     var noAll = document.getElementById(“NoCheckAll”); //不全选 
  110.     var inverse = document.getElementById(“inverse”); //反选 
  111.     var User = document.getElementById(“User”); //SiteId 
  112.     function checkTrue() { 
  113.         for (var i = 0; i < single.length; i++) { 
  114.             single[i].checked = true; 
  115.         } 
  116.     } 
  117.     function checkFalse() { 
  118.         for (var i = 0; i < single.length; i++) { 
  119.             single[i].checked = false; 
  120.         } 
  121.     } 
  122.     //全选 
  123.     function checkAll() { 
  124.         if (all.disabled == false) { 
  125.             noAll.disabled = false; 
  126.             checkTrue(); 
  127.         } 
  128.         else { 
  129.             noAll.disabled = true; 
  130.             checkFalse(); 
  131.         } 
  132.         all.disabled = true; 
  133.     } 
  134.     //全不选 
  135.     function noCheckAll() { 
  136.         if (noAll.disabled == false) { 
  137.             all.disabled = false; 
  138.             checkFalse(); 
  139.         } 
  140.         else { 
  141.             all.checked = true; 
  142.             checkTrue(); 
  143.         } 
  144.         noAll.disabled = true; 
  145.     } 
  146.     //反选 
  147.     function inverseCheck() { 
  148.         noAll.disabled = false; 
  149.         all.disabled = false; 
  150.         for (var i = 0; i < single.length; i++) { 
  151.             single[i].checked = !single[i].checked; 
  152.         } 
  153.     } 
  154.     function check(){ 
  155.         var checkd_sum; 
  156.         checkd_sum=0; 
  157.         for (var i = 0; i < single.length; i++) { 
  158.             if(single[i].checked ==true){ 
  159.             checkd_sum++; 
  160.             } 
  161.         } 
  162.         if(checkd_sum==0){ 
  163.             alert(‘请先选择目录!’); 
  164.             return false; 
  165.         } 
  166.         if(User.value==”"){ 
  167.             alert(‘请输入Internet 来宾帐户!’); 
  168.             return false; 
  169.         } 
  170.         return true; 
  171.     } 
  172. </script> 
  173. <?php 
  174. }else
  175.     $directorys=@$_POST['directory']; 
  176.     $Perm=trim(@$_POST['Perm']); 
  177.     $User=trim(@$_POST['User']); 
  178. ?> 
  179. <div> 
  180. <pre> 
  181. @echo off 
  182. <?php 
  183. $BASE_DIR=getcwd(); 
  184. if(is_array($directorys)){ 
  185.     foreach($directorys as $directory ){ 
  186.         echo <<<EOF 
  187. echo Y|cacls {$BASE_DIR}\{$directory} /T /E /C /G {$User}:{$Perm} <br/> 
  188. EOF; 
  189.     } 
  190. ?> 
  191. pause 
  192. </pre> 
  193. </div> 
  194. <?php  
  195. ?> 
  196. </body> 
  197. </html> 

Tags: php批量修改 windows目录权限

分享到: