如何在Linux上的PHP Cli中找到用户主目录的路径?

时间:2016-01-21 10:29:33

标签: php linux shell ubuntu home-directory

我正在尝试编写一个脚本,通过PHP检查当前登录用户主目录中是否退出特定目录。

在终端上我使用

volume.sync()

显示 cd ~ pwd

但是当我尝试使用PHP时,就像下面的那样

/home/ramratan

我也尝试过以下

    chdir("~");
    PHP Warning:  chdir(): No such file or directory (errno 2) 
    in php shell code on line 1
    PHP Stack trace:
    PHP   1. {main}() php shell code:0
    PHP   2. chdir() php shell code:1

它显示 chdir("/home"); echo shell_exec("pwd"); 而非/home,如果有人帮助我在/home/ramratan中应该做什么,以便它返回chdir("/home")

我也试过以下但没有成功

/home/ramratan

2 个答案:

答案 0 :(得分:1)

CLIPHP将环境变量放入$_SERVER[]。可以在$_SERVER['HOME']中找到当前用户的主目录。无需更改任何目录或运行任何外部命令。

在OSX和Ubuntu上测试过,但我相信它适用于任何Linux发行版。目前无法讲述有关Windows的任何信息。

答案 1 :(得分:0)

您可以使用whomai找到当前的用户名。使用该名称在/etc/passwd中查找与该用户对应的行。从该行cut出来的主目录信息:

$currentUserHomeDir = exec('grep `whoami` /etc/passwd | cut -d ":" -f6');