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 相关文章推荐
PHPLog php 程序调试追踪工具
Sep 09 PHP
在字符串指定位置插入一段字符串的php代码
Feb 16 PHP
如何判断php数组的维度
Jun 10 PHP
php实现文件下载功能的几个代码分享
May 10 PHP
phpmyadmin提示The mbstring extension is missing的解决方法
Dec 17 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
Apr 30 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
Linux平台PHP5.4设置FPM线程数量的方法
Nov 09 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
微信JSSDK分享功能图文实例详解
Apr 08 PHP
laravel 错误处理,接口错误返回json代码
Oct 25 PHP
PHP 图片合成、仿微信群头像的方法示例
Oct 25 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
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
javascript实现数独解法
2015/03/14 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
深入理解ES6 Promise 扩展always方法
2017/09/26 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
vue的token刷新处理的方法
2018/07/17 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
2020/03/10 Javascript
python分割和拼接字符串
2013/11/01 Python
python单链表实现代码实例
2013/11/21 Python
使用Python实现下载网易云音乐的高清MV
2015/03/16 Python
python实现提取百度搜索结果的方法
2015/05/19 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python装饰器初探(推荐)
2016/07/21 Python
JSON Web Tokens的实现原理
2017/04/02 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
python之信息加密题目详解
2019/06/26 Python
python面试题之列表声明实例分析
2019/07/08 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
python 基于wx实现音乐播放
2020/11/24 Python
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
函授本科自我鉴定
2013/11/03 职场文书
小学运动会表扬稿
2014/01/19 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
火锅店创业计划书范文
2014/02/02 职场文书
乡镇爱国卫生月活动总结
2014/06/25 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
违纪检讨书
2015/01/27 职场文书
辞职信的写法
2015/02/27 职场文书
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers