跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请教 mkdir 权限问题
未分類
19 10 月 2020

请教 mkdir 权限问题

请教 mkdir 权限问题

資深大佬 : pinews 10

别人的代码出现问题,写入日志因权限被拒绝。原来创建的文件夹没有写入(?!)权限。
记得默认好像没问题,查了代码好像没什么问题,后来定位在 mkdir($dir, 777)上,官方文档是 0777,或者不写也可以,但是 777 是不行的。
我是一头雾水,传值是数值类型的,没加引号,0777 打印出来不是 511 吗?再说为什么 0777 可以得到的是 755,而 777 最后得到的反而是 1411,越看越糊涂了,
请大侠指教!!
大佬有話說 (5)

  • 資深大佬 : nifury

    0777 (octal) == 511 (decimal)
    777 (decimal) == 1411 (octal)

  • 資深大佬 : weirdo

    0 开头的数是八进制
    0x 开头的数是十六进制
    0b 开头的数是二进制
    其他情况都是十进制

  • 主 資深大佬 : pinews

    搜索了一番,自问自答吧,这个参数,显然并不是直接按数字来设置的,当然也不是按字符串设置的。
    这个参数 4 个字符,第一个叫特殊权限,可以有 0,1,2,4,4 个数字 1 是粘滞,2,SUID,4,SGID,0 是默认的,没有特殊权限,设置为 777 最后变成 755 的原因是 umask,默认为 022,
    而 0777 变成 755,是经过 3 次转换得到的,先变成 10 进制,而内部再转换成 8 进制,最后再用 umask,
    既然 0777==511,那最终的效果也是一样的,
    省略第一位,用后三位与想要的权限对照是不对的,也就是说 4 位数字不但是直观的,也是准确的,因为内部做了处理,省略第一位是一个简单思维的错误。

  • 主 資深大佬 : pinews

    显然并不是直接按“直观数字”来设置的。

  • 資深大佬 : happy7902

    外行可能觉得你是个专家,但实际你可能没入门

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具