PHP dirname(__ FILE__)v / s ./

时间:2014-02-03 05:55:47

标签: php

我在一个我正在修改的小脚本中找到了这段代码:

require dirname(__FILE__)."/GearmanManager.php";

我发现它有点奇怪,不会

require "./GearmanManager.php";

做同样的事情吗?

1 个答案:

答案 0 :(得分:2)

当您使用./时,您正在查找可能会更改的当前工作目录。另一方面,dirname(__FILE__)不会改变。

例如,如果您在chdir('/')之前更改工作目录(使用require或类似内容),则第一个示例将成功,而第二个示例将失败。

Excerpt from another answer

  

但是,明确使用include'。/ file'比让PHP始终检查每个包含的当前目录更有效。

因此,如果您知道自己不会更改目录,./会更快。