我们经常会碰到一些问题像目录权限无法访问了,这时可能有几百或上千个文件或文件目录,下面我写了一个利用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>
-
(责任编辑:最模板) |