假设我的硬盘上有以下文件夹结构:
/some/dir/
.
scripts/
myfile.php
然后从'/ some / dir /',我运行以下命令:
/some/dir/$ php scripts/myfile.php
然后,在PHP中,如何找到启动命令的文件夹(即'/ some / dir')?
我尝试使用getcwd()
和shell_exec('pwd')
,但它们都只返回PHP脚本的路径(即/ some / dir / scripts)。知道怎么做吗?
答案 0 :(得分:4)
例如,您可以参考$_SERVER['PWD']
和$_SERVER['OLDPWD']
例如,我在test.php
子文件夹中有脚本./dev
,内容为:
var_dump($_SERVER['PWD'], $_SERVER['OLDPWD']);
所以,你可以看到:
user@host:/var/www/data$ php dev/test.php string(13) "/var/www/data" string(17) "/var/www/data/dev"
所以,第一个就是你要找的东西。
像往常一样,脚本全名将在__FILE__
常量。