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 相关文章推荐
snoopy 强大的PHP采集类使用实例代码
Dec 09 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
php操作mysql数据库的基本类代码
Feb 25 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
PHP生成随机数的方法实例分析
Jan 22 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
PHP 获取ip地址代码汇总
Jul 05 PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
微信公众平台开发(五) 天气预报功能开发
Dec 03 PHP
PHP解决中文乱码
Apr 28 PHP
统计PHP目录中的文件数方法
Mar 05 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
PHP4实际应用经验篇(8)
2006/10/09 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
php操作xml入门之xml基本介绍及xml标签元素
2015/01/23 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
PHP number_format函数原理及实例解析
2020/07/14 PHP
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
微信小程序 自定义Toast实例代码
2017/06/12 Javascript
详解vue-cli中配置sass
2017/06/21 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
Python修改Excel数据的实例代码
2013/11/01 Python
举例讲解Python中装饰器的用法
2015/04/27 Python
Python实现快速多线程ping的方法
2015/07/15 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
中学生个人自我评价
2014/02/06 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
《阳光》教学反思
2014/02/23 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
2014年教务工作总结
2014/12/03 职场文书
财务部岗位职责范本
2015/04/14 职场文书
springboot+VUE实现登录注册
2021/05/27 Vue.js