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