5

我找不到使用 CGI (suPHP) 在 PHP 中获取用户主目录的方法(例如/home/jack;bash 中的任何 ~ 指向)。$_ENV 数组为空,getenv('HOME') 不返回任何内容。

我想这样做的原因是在没有配置的情况下,我想在/home/user/.myappnamehere中找到我的应用程序使用的变量文件,就像大多数 Linux 应用程序一样。


我已经建立了一些东西,但它不是最好的;虽然它有效,但它对系统有很多假设(例如 /etc/passwd 的存在)

 $usr = get_current_user();
    $passwd = file('/etc/passwd');
    $var = false;
    foreach ($passwd as $line) {
        if (strstr($line, $usr) !== false) {
            $parts = explode(':', $line);
            $var = realpath($parts[5].'/.report');
            break;
        }
    }
4

2 回答 2

6

我想你想要的结果: http ://us.php.net/manual/en/function.getmyuid.php或 http://us.php.net/manual/en/function.posix-getuid.php发送到 http://us.php.net/manual/en/function.posix-getpwuid.php

于 2010-01-31T22:22:21.870 回答
4

如果safemode被禁用,试试这个

$homedir = `cd ~ && pwd`;
于 2010-01-31T22:31:50.490 回答