Я пытаюсь написать скрипт для проверки того или иного каталога, который выйдет или нет, в текущем домашнем каталоге пользователя через 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 верен. Мое сомнение заключается в том, что вы указываете имя каталога так же, как и имя пользователя? в этом случае insted из shell_exec ("whoami"), вы можете сделать chdir ("/ home /".$ loggedinUserName); –