gongzhonghao.png
扫码关注我们
最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

php chmod()函数与批量修改文件目录权限

来源:http://erdangjiade.com/topic/1871.html 你好,世界。 2017-09-25 22:42浏览(18)

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); // 八进制数,正确的 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); 
foreach($iterator as $item) { 
chmod($item, $filemode); 
} 
?>

这段代码来修改目录的权限

以上就是php chmod()函数与批量修改文件目录权限的详细内容,更多请关注二当家的素材网其它相关文章!

评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2