好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP chmod函数与批量修改文件目录权限 - php函数

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函数的详细内容...

  阅读:58次