chmod() 函数改变文件模式,chmod — Changes file mode如果成功则返回 TRUE,否则返回 FALSE,我们不只是讲chmod简单语法,而且还做了复杂的关于chmod使用实例.
chmod() 函数改变文件模式,chmod — Changes file mode,如果成功则返回 TRUE,否则返回 FALSE.
语法:chmod(file,mode)
参数 描述
file 必需,规定要检查的文件.
mode 可选,规定新的权限.
mode 参数由 4 个数字组成:
第一个数字永远是 0
第二个数字规定所有者的权限
第二个数字规定所有者所属的用户组的权限
第四个数字规定其他所有人的权限
可能的值(如需设置多个权限,请对下面的数字进行总计):
1 - 执行权限 2 - 写权限 4 - 读权限
来看个简单的实例,代码如下:
-
<?php
-
chmod("/somedir/somefile", 755);
-
chmod("/somedir/somefile", "u+rwx,go+rx");
-
chmod("/somedir/somefile", 0755);
-
?>
改进递归文件模式@ infosoft ....,这是一个小短,应处理的Linux文件系统的所有文件类型,这个可以批量更改文件或目录的权限,实例代码如下:
-
<?php
-
function chmodr($path, $filemode) {
-
if (!is_dir($path))
-
return chmod($path, $filemode);
-
-
$dh = opendir($path);
-
while (($file = readdir($dh)) !== false) {
-
if($file != '.' && $file != '..') {
-
$fullpath = $path.'/'.$file;
-
if(is_link($fullpath))
-
return FALSE;
-
elseif(!is_dir($fullpath) && !chmod($fullpath, $filemode))
-
return FALSE;
-
elseif(!chmodr($fullpath, $filemode))
-
return FALSE;
-
}
-
}
-
-
closedir($dh);
-
-
if(chmod($path, $filemode))
-
return TRUE;
-
else
-
return FALSE;
-
}
-
?>
如果你目录太多的话可以用如下代码:
-
<?php
-
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathname), RecursiveIteratorIterator::SELF_FIRST);
-
-
foreach($iterator as $item) {
-
chmod($item, $filemode);
-
}
-
?>
这段代码来修改目录的权限.
(责任编辑:最模板) |