| 
       
	我们经常会碰到一些问题像目录权限无法访问了,这时可能有几百或上千个文件或文件目录,下面我写了一个利用php来批量更改目录权限的实例,代码如下: 
	
		- 
			<?php 
 
		- 
			 
 
		- 
			function getDir($dir=”) { 
 
		- 
			    $dir=emptyempty($dir) ? getcwd() : $dir; 
 
		- 
			    $dirArray[]=NULL; 
 
		- 
			    if (false != ($handle = opendir ( $dir ))) { 
 
		- 
			        $i=0; 
 
		- 
			        while ( false !== ($file = readdir ( $handle )) ) { 
 
		- 
			             
 
		- 
			            if ($file != “.” && $file != “..”&&!strpos($file,”.”)) { 
 
		- 
			                $dirArray[$i]=$file; 
 
		- 
			                $i++; 
 
		- 
			            } 
 
		- 
			        } 
 
		- 
			         
 
		- 
			        closedir ( $handle ); 
 
		- 
			    } 
 
		- 
			    return $dirArray; 
 
		- 
			} 
 
		- 
			?> 
 
		- 
			<!DOCTYPE html PUBLIC “- 
 
		- 
			<html xmlns=”http: 
 
		- 
			<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(emptyempty($_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”);  
 
		- 
			    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> 
 
		- 
			 
 
	 
 
      
      (责任编辑:最模板) |