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


Posted in PHP onMay 10, 2010

语法
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); 
} 
?>

这段代码来修改目录的权限
哈哈,我们不只是讲chmod简单语法,而且还做了复杂的关于chmod使用实例

说明
bool chmod ( string $filename , int $mode )
尝试将 filename 所指定文件的模式改成 mode 所给定的。

注意 mode 不会被自动当成八进制数值,而且也不能用字符串(例如 "g+w")。要确保正确操作,需要给 mode 前面加上 0:

mode 参数包含三个八进制数按顺序分别指定了所有者、所有者所在的组以及所有人的访问限制。每一部分都可以通过加入所需的权限来计算出所要的权限。数字 1 表示使文件可执行,数字 2 表示使文件可写,数字 4 表示使文件可读。加入这些数字来制定所需要的权限。有关 UNIX 系统的文件权限可以阅读手册“man 1 chmod”和“man 2 chmod”。

<?php 
// Read and write for owner, nothing for everybody else 
chmod("/somedir/somefile", 0600); 
// Read and write for owner, read for everybody else 
chmod("/somedir/somefile", 0644); 
// Everything for owner, read and execute for others 
chmod("/somedir/somefile", 0755); 
// Everything for owner, read and execute for owner's group 
chmod("/somedir/somefile", 0750); 
?>

如果成功则返回 TRUE,失败则返回 FALSE。

Note: 当前用户指的是执行 PHP 的用户。很可能和通常的 shell 或者 FTP 用户不是同一个。在大多数系统下文件模式只能被文件所有者的用户改变。

Note: 本函数不能作用于远程文件,被检查的文件必须通过服务器的文件系统访问。

Note: 当安全模式打开的时候,PHP 会检查所操作的文件是否和正在执行的脚本具有相同的 UID (所有者)。要注意的是,不能修改 SUID,SGID 和 sticky bits。

PHP 相关文章推荐
php5.2时间相差8小时
Jan 15 PHP
PHP Header用于页面跳转要注意的几个问题总结
Oct 03 PHP
php 短链接算法收集与分析
Dec 30 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
PHP实现CSV文件的导入和导出类
Mar 24 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
May 26 PHP
php读取XML的常见方法实例总结
Apr 25 PHP
PHP开发实现快递查询功能详解
Apr 08 PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 PHP
php file_exists 检查文件或目录是否存在的函数
May 10 #PHP
php disk_free_space 返回目录可用空间
May 10 #PHP
PHP is_dir() 判断给定文件名是否是一个目录
May 10 #PHP
php is_file 判断给定文件名是否为一个正常的文件
May 10 #PHP
php下用cookie统计用户访问网页次数的代码
May 09 #PHP
简单的PHP留言本实例代码
May 09 #PHP
php 上一篇,下一篇文章实现代码与原理说明
May 09 #PHP
You might like
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
php基础教程
2015/08/26 PHP
详解php框架Yaf路由重写
2017/06/20 PHP
强制设为首页代码
2006/06/19 Javascript
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
测试你的JS的掌握程度的代码
2009/12/09 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
javascript快速排序算法详解
2014/09/17 Javascript
js+html制作简单验证码
2017/02/16 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python FTP操作类代码分享
2014/05/13 Python
Python解析最简单的验证码
2016/01/07 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
Python filter过滤器原理及实例应用
2020/08/18 Python
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
幼儿园教师教育感言
2014/02/28 职场文书
大型演出策划方案
2014/05/28 职场文书
工地安全生产标语
2014/06/06 职场文书
应届生求职自荐信
2014/07/04 职场文书
中职招生先进个人材料
2014/08/31 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
客房服务员岗位职责
2015/02/09 职场文书
装饰施工员岗位职责
2015/04/11 职场文书
健康教育主题班会
2015/08/14 职场文书