【问题标题】:what is the purpose of require_once dirname(__FILE__) ...?require_once dirname(__FILE__) ...的目的是什么?
【发布时间】:2014-02-04 13:33:29
【问题描述】:

我正在使用具有以下代码的 php 库:require_once dirname(__FILE__) . '/config.php';

根据我的阅读,dirname(__FILE__) 指向当前目录。

那么写require_once 'config.php';不是更容易吗?

我在这里唯一的猜测是包含dirname(__FILE__) 确保require_once 函数使用绝对路径而不是相对路径。

【问题讨论】:

  • 这就是原因 - 它确保了绝对路径。其他脚本可以使用chdir() 更改工作目录,这可能会混淆包含路径。同样,如果从 HTTP 以外的东西(例如 CLI 或 cron)调用,则包含路径可能不同,或者工作目录可能不同。
  • 可以改用__DIR__...
  • 显然__DIR__ 可从 php 5.3 及更高版本获得。来源:12

标签: php file require-once dirname


【解决方案1】:

是的,你是对的 - dirname(__FILE__) 确保 require_once 函数使用绝对路径而不是相对路径。

__FILE__ 常量代表正在运行的脚本。它将返回运行脚本的完整路径和文件名。

例如,如果一个名为database.init.php 的脚本包含在文件系统的任何位置,它想要包含位于同一目录中的脚本database.class.php,您可以使用:

require_once dirname(__FILE__) . '/database.class.php'; 

【讨论】:

    【解决方案2】:

    一个例子:

    如果您的文件包含在某处,则默认情况下它将从包含您的文件的路径开始搜索。在这种情况下,require 不适用于您文件旁边的文件

    【讨论】:

      猜你喜欢
      • 2011-02-14
      • 2011-01-14
      • 2014-02-26
      • 1970-01-01
      • 2012-10-23
      • 2012-03-26
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      相关资源
      最近更新 更多