PHP怎样判断文件所属用户ID_PHP获取用户ID法【归属】-php教程

fileowner() 直接返回文件所有者的数字 UID,Windows 下恒为 -1;需检查返回值是否为 false 而非逻辑假,配合 getmyuid() 可判断进程与文件同属一用户,但权限还受 chmod 和安全模块约束。

PHP 怎么用 fileowner() 获取文件所属用户 ID

fileowner() 是最直接的方式,它返回文件系统中该文件所有者的 UID(数字形式),不是用户名。注意:在 Windows 上始终返回 -1,因为 NTFS 不使用 Unix 风格的 UID 概念。

实操要点:

  • 必须确保 PHP 进程有权限读取文件元数据(例如 Web 服务器用户如 www-data 能 stat 该路径)
  • 路径必须是真实存在的文件或目录,对符号链接默认解析目标(除非系统禁用 follow symlink)
  • 返回值是整型 UID,如 1001;失败时返回 false,需用 === false 判断,不能只用 !fileowner(...)
  • 示例:
    <?php
    $uid = fileowner('/var/www/html/index.php');
    if ($uid !== false) {
        echo "Owner UID: $uid";
    } else {
        echo "Failed to get owner";
    }

为什么 fileowner() 返回的是数字而不是用户名

Unix/Linux 文件系统在 inode 层面只存储 UID/GID 数字,用户名是用户数据库(/etc/passwd)里的映射。PHP 不自动查表转换,避免依赖 NSS 配置或权限问题。

如果需要用户名,得手动查:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » PHP怎样判断文件所属用户ID_PHP获取用户ID法【归属】-php教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3999868+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3999868+
  • 本周更新: 0+
  • 最后更新: 2026-03-16