我可以获取最初在包含文件中调用的PHP文件的路径吗?

时间:2008-09-26 14:16:53

标签: php path

假设我们有index.php,它存储在/home/user/public/www中,index.php从文件Foo->bar()调用类inc/app/Foo.class.php

我希望Foo类中的bar函数在这个实例中保持路径/home/user/public/www - 我不想使用全局变量,传递变量等

4 个答案:

答案 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()。