5

这是我不明白的事情:

一个文件的权限为 0644,如果我使用 php 的 fileperms() 函数,如果我创建一个 var_dump(),则返回 16804 作为整数。两者之间的关系是什么/在哪里,以及我如何将一个(比如说 0755)转换为 fileperms() 将为 0755 返回的任何内容。

谢谢

放*

4

1 回答 1

7

16804 是八进制数40644 的十进制表示法。请查看PHP 手册的第二个示例以了解这些值的含义。

40644提取:

  • 4- 文件是一个目录
  • 0- 填充以获得第45 个位置的第一个
  • 6- 所有者可读写
  • 4- 仅对组可读
  • 4- 仅对世界可读。

PHP 将带有前导零的数字识别为八进制数。如果您需要将包含0755或的字符串转换755为十进制数,请使用octdec(). 反向函数(十进制到八进制)是decoct().

如果您需要更改文件的文件权限,请使用chmod(). 为此,您需要成为文件的所有者,否则您会收到Permission denied错误。

于 2011-10-25T12:38:42.373 回答