我试图写一个脚本来检查特定的目录退出或不在当前登录的用户的主目录通过PHP。
在我使用的终端上

    cd ~
    pwd

显示/home/ramratan
但是当我尝试通过php时
    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
我也试过,但没有成功
 chdir("/home/".shell_exec("whoami"));
 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

最佳答案

您可以使用whomai找到当前用户名,正如您已经编写的那样。使用该名称在/etc/passwd中查找与该用户对应的行。从该行中,输出主目录信息:

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

08-18 00:46
查看更多