首页 »PHP教程 » phpmkdir:PHP用mkdir()新建立目录无写的权限的问题 »正文
phpmkdir:PHP用mkdir()新建立目录无写的权限的问题
来源: 发布时间:星期一, 2009年1月12日 浏览:61次 评论:0
![](/icons/31840hanshu.gif) mkdir有两个参数 ![](/icons/31840dou.gif) 目录路径和访问权限 例mkdir('/tmp/test',0777) 然后要得到 ![](/icons/31840de.gif) 权限码 ![](/icons/31840dou.gif) 不 ![](/icons/31840yi.gif) 定是上边设定 ![](/icons/31840de.gif) ![](/icons/31840dou.gif) 当前系统 ![](/icons/31840de.gif) umask将会和设定 ![](/icons/31840de.gif) 值‘和’ ![](/icons/31840dou.gif) 这样子才是真正 ![](/icons/31840de.gif) 权限码 ![](/icons/31840dou.gif) 例如 ![](/icons/31840dou.gif) 如果umask为022 ![](/icons/31840dou.gif) 那码上边得到 ![](/icons/31840de.gif) 权权限码为0755,没有写 ![](/icons/31840de.gif) 权限 所以如果我们想要真正 ![](/icons/31840de.gif) 得到0777 ![](/icons/31840de.gif) 权限 ![](/icons/31840dou.gif) 代码 <?php $oldumask=umask(0); mkdir('test',0777); umask($oldumask); ?> umask ![](/icons/31840kh.gif) 检查并修改当前 ![](/icons/31840de.gif) umask码 ![](/icons/31840dou.gif) 并返回当前 ![](/icons/31840de.gif) umask码 umask 是什么? 我们创建文件 ![](/icons/31840de.gif) 默认权限是如何来 ![](/icons/31840de.gif) ?如何改变这个默认权限呢? 当我们登录系统的后创建 ![](/icons/31840yi.gif) 个文件总是有 ![](/icons/31840yi.gif) 个默认权限 ![](/icons/31840de.gif) ![](/icons/31840dou.gif) 那么这个权限是如何来 ![](/icons/31840de.gif) 呢?这就是 umask 干 ![](/icons/31840de.gif) 事情 ![](/icons/31840dou2.gif) umask 设置了用户创建文件 ![](/icons/31840de.gif) 默认权限 ![](/icons/31840dou.gif) 它和 chmod ![](/icons/31840de.gif) 效果刚好相反 ![](/icons/31840dou.gif) umask 设置 ![](/icons/31840de.gif) 是权限“补码” ![](/icons/31840dou.gif) 而 chmod 设置 ![](/icons/31840de.gif) 是文件权限码 ![](/icons/31840dou2.gif) ![](/icons/31840yi.gif) 般在 /etc/profile、$HOME/.bash_profile 或 $HOME/.profile 中设置 umask 值 ![](/icons/31840dou2.gif) 如何计算 umask 值? umask 命令允许你设定文件创建时 ![](/icons/31840de.gif) 缺省模式 ![](/icons/31840dou.gif) 对应每 ![](/icons/31840yi.gif) 类用户(文件属主、同组用户、其他用户)存在 ![](/icons/31840yi.gif) 个相应 ![](/icons/31840de.gif) umask 值中 ![](/icons/31840de.gif) 数字 ![](/icons/31840dou2.gif) 对于文件来说 ![](/icons/31840dou.gif) 这 ![](/icons/31840yi.gif) 数字 ![](/icons/31840de.gif) 最大值分别是 6 ![](/icons/31840dou2.gif) 系统不允许你在创建 ![](/icons/31840yi.gif) 个文本文件时就赋予它执行权限 ![](/icons/31840dou.gif) 必须在创建后用 chmod 命令增加这 ![](/icons/31840yi.gif) 权限 ![](/icons/31840dou2.gif) 目录则允许设置执行权限 ![](/icons/31840dou.gif) 这样针对目录来说 ![](/icons/31840dou.gif) umask 中各个数字最大可以到 7 ![](/icons/31840dou2.gif) 该命令 ![](/icons/31840de.gif) ![](/icons/31840yi.gif) 般形式为:umask nnn ![](/icons/31840dou.gif) 其中 nnn 可为 000 - 777 ![](/icons/31840dou2.gif) 我们只要记住 umask 是从权限中“拿走”相应 ![](/icons/31840de.gif) 位即可 ![](/icons/31840dou2.gif) 如:umask 值为 022 ![](/icons/31840dou.gif) 则默认目录权限为 755 ![](/icons/31840dou.gif) 默认文件权限为 644
相关文章
读者评论
发表评论
|
|