5

CGI(suPHP)を使用して、PHPでユーザーのホームディレクトリ(たとえば、 / home / jack ; bashの〜が指すもの)を取得する方法が見つかりません。$ _ENV配列は空であり、getenv('HOME')は何も返しません。

これを実行したい理由は、構成がない場合は、ほとんどのLinuxアプリケーションと同様に、アプリケーションで使用される可変ファイルを/home/user/.myappnamehereで検索するためです。


私は何かを作りましたが、それは最高ではありません。それが機能している間、それはシステムについて多くを想定しています(例えば/ 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 に答える