我正在嘗試編寫腳本來檢查特定目錄是否通過PHP退出或不在當前登錄用戶的主目錄中。如何將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
你是指「當前登錄用戶」? 'whoami'將以apache運行的用戶身份返回,而不是您在網站上登錄的用戶。 – DarkBee
@DarkBee,echo shell_exec(「whoami」);正在返回ramratan而不是nginx用戶。 –
@DarkBee是正確的。我懷疑你是否使目錄名稱與登錄的用戶名相同?在那種情況下shell_exec(「whoami」)insted,你可以做chdir(「/ home /".$ loggedinUserName); –