PHP:fileperms() 值并转换它们

发布于 2024-12-11 23:17:57 字数 189 浏览 3 评论 0原文

这是我不明白的事情:

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

set

*

Here is something i dont understand:

A file has the permission 0644 which if i use php´s fileperms() functions returns 16804 as integer if i make a var_dump(). What/where is the relation between the two and how can i convert a, lets say 0755, into whatever fileperms() would return for 0755.

THX

set*

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

〆凄凉。 2024-12-18 23:17:57

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

40644 提取:

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

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

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

16804 is the decimal notation for the octal number 40644. Check 2nd example of the PHP manual for the meaning of these values.

40644 extracted:

  • 4 - the file is a directory
  • 0 - padding to get the first 4 on the 5th position
  • 6 - read-writable for the owner
  • 4 - readable only for the group
  • 4 - readable only for the world.

PHP recognizes numbers with a leading zero as an octal number. If you need to convert a string containing 0755 or 755 to a decimal number, use octdec(). The reverse function (decimal to octal) is decoct().

If you need to change the file permissions of a file, use chmod(). For that to work, you need to be the owner of the file, otherwise you get a Permission denied error.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文