6

前几天,我在使用php-function时碰巧设置了错误的权限,mkdir如下所示:

mkdir("foldername", 777, true);

正确的方法是,假设您想要这些权限:

mkdir("foldername", 0777, true);

我知道我不应该在我的文件或文件夹上使用 777,但这是一个非常封闭的系统,所以请不要卡在这个问题上。因为至少对我来说,这是有趣(奇怪)的部分。因为我们注意到当这个脚本创建文件夹时有些奇怪。设置的权限真的很奇怪,尤其是对于像我这样的非 linux 高级用户。因为我们看到的是创建的文件夹的权限设置为:

博士 - - - - x - - t

对我来说这很奇怪,我之前没有听说过粘性位(t),但是当你想让该文件只能由 root 删除时,这显然是设置的。有谁知道为什么 PHP 会这样,或者它甚至是 PHP 问题(不是真正的问题,因为我当时错误地使用了该函数),或者这是我们的 *nix 系统在有疑问时默认执行的操作或者其他的东西?

4

2 回答 2

4

文件权限采用八进制表示法(以 8 为基数)。

777 是十进制的,这意味着 01411 八进制,它也设置了粘性...

于 2013-03-13T09:33:24.300 回答
1

有人回答了这个问题,然后删除了,这很可悲,因为我强烈认为它是正确的。因此,如果您阅读此内容,请再次发布该答案,我会接受。

无论如何,似乎 php 将 to 转换decimal 777octal 1411并将权限设置为我得到的权限,即:

博士 - - - - x - - t

于 2013-03-13T11:57:04.043 回答