我可以获取包含文件中最初调用的PHP文件的路径吗?
时间:2020-03-06 14:47:11 来源:igfitidea点击:
假设我们有index.php,它存储在/ home / user / public / www中,index.php从文件inc / app / Foo中调用类Foo-> bar()。 .class.php。
在这种情况下,我希望Foo类中的bar函数可以保留路径/ home / user / public / www,但我不想使用全局变量,不传递变量等。
解决方案
找到了。 getcwd()。
我们可以使用debug_backtrace查看调用路径,并获取调用此函数的文件。
一个简短的例子:
class Foo {
function bar() {
$trace = debug_backtrace();
echo "calling file was ".$trace[0]['file']."\n";
}
}
getcwd()获取当前工作目录
第三方模块可以出于多种原因对其进行更改,包括发出chdir()甚至包括我们自己的代码。
德文郡(Devon)建议的debug_backtrace()是我们要寻找的答案。
这样会不会更轻松地为我们提供正在运行的脚本的目录?
$dir=dirname($_SERVER["SCRIPT_FILENAME"])

