服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

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

时间:2016-03-15 00:23来源: 作者: 点击:
chmod() 函数改变文件模式,chmod Changes file mode如果成功则返回 TRUE,否则返回 FALSE,我们不只是讲chmod简单语法,而且还做了复杂的关于chmod使用实例. chmod() 函数改变文件模式,chmod Changes file m
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); 
//开源代码最模板zuimoban.com 
foreach($iterator as $item) {  
    chmod($item, $filemode);  
}  
?> 
这段代码来修改目录的权限.
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容