假设我们有index.php
并且它存储在文件中/home/user/public/www
并从文件中index.php
调用该类。Foo->bar()
inc/app/Foo.class.php
我希望类中的 bar 函数在这个实例Foo
中获取路径/home/user/public/www
——我不想使用全局变量、传递变量等。
您可以使用debug_backtrace查看调用路径并获取调用此函数的文件。
一个简短的例子:
class Foo {
function bar() {
$trace = debug_backtrace();
echo "calling file was ".$trace[0]['file']."\n";
}
}
这不是更容易让您获得正在运行的脚本的目录吗?
$dir=dirname($_SERVER["SCRIPT_FILENAME"])
getcwd()
获取当前工作目录
它可以通过 3rd 方模块、包含甚至您自己的代码通过发布chdir()
.
debug_backtrace()
正如 Devon 建议的那样,这是您正在寻找的答案。
找到了。获取cwd()。