PHP chmod函数与批量修改文件目录权限
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); // decimal; probably incorrect chmod ( "/somedir/somefile" , "u+rwx,go+rx" ); // string; incorrect chmod ( "/somedir/somefile" , 0755); // octal; correct value of mode ?>改进递归文件模式@ 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); //开源代码phpfensi测试数据 foreach ( $iterator as $item ) { chmod ( $item , $filemode ); } ?>这段代码来修改目录的权限.
查看更多关于PHP chmod函数与批量修改文件目录权限 - php函数的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30952