2

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

我希望类中的 bar 函数在这个实例Foo中获取路径/home/user/public/www——我不想使用全局变量、传递变量等。

4

4 回答 4

14

您可以使用debug_backtrace查看调用路径并获取调用此函数的文件。

一个简短的例子:

class Foo {
  function bar() {    
   $trace = debug_backtrace();
   echo "calling file was ".$trace[0]['file']."\n";
  }
}
于 2008-09-26T14:21:31.673 回答
11

这不是更容易让您获得正在运行的脚本的目录吗?

$dir=dirname($_SERVER["SCRIPT_FILENAME"])
于 2008-09-26T14:27:36.510 回答
2

getcwd()获取当前工作目录

它可以通过 3rd 方模块、包含甚至您自己的代码通过发布chdir().

debug_backtrace()正如 Devon 建议的那样,这是您正在寻找的答案。

于 2008-09-26T14:23:31.013 回答
1

找到了。获取cwd()。

于 2008-09-26T14:20:55.480 回答