如何在 PHP 的 require_once 中指定文件系统绝对路径?

Posted

技术标签:

【中文标题】如何在 PHP 的 require_once 中指定文件系统绝对路径?【英文标题】:How can I specify the filesystem absolute path in a require_once in PHP? 【发布时间】:2012-07-17 16:54:41 【问题描述】:

简单地说,如何在 php 中使用 require_once 关键字指定绝对文件系统路径?代码将在 CLI 中运行,而不是在网页上。什么是根文件路径?我正在运行 Windows,仅供参考。

谢谢。

【问题讨论】:

【参考方案1】:

尝试使用Magic Constant __DIR__

__DIR__ 文件所在目录。如果在包含中使用,则返回包含文件的目录。这相当于 目录名(__FILE__)。此目录名称没有尾部斜杠 除非它是根目录。 (在 PHP 5.3.0 中添加。)

【讨论】:

【参考方案2】:

在 Windows 上,它是反斜杠符号,如果你使用双引号,你也必须将它们转义。

require_once("C:\\folder\\folder\\etc");

【讨论】:

【参考方案3】:
require_once('/some/path/foo.php');

/ 开头的路径表示您使用的是绝对(从根目录开始)路径。

require_once('some/path/foo.php');

以不带/ 的路径开始表示您使用的是绝对(以current working dir 开始)路径。

否则,请查看 __FILE__ 和 __DIR__ magic constants。

【讨论】:

谁反对这个:至少有礼貌地解释为什么 他们当然应该解释一下 - 我现在想知道您的答案是否适用于 Windows,因为这是我对它被否决的假设。【参考方案4】:

好吧,\ 将让您获得当前驱动器的根目录(通常是 C:\),或者如果您需要,您可以指定您需要的驱动器。请记住转义这些反斜杠,或者改用正斜杠(Windows 会默默地转换它们)

【讨论】:

以上是关于如何在 PHP 的 require_once 中指定文件系统绝对路径?的主要内容,如果未能解决你的问题,请参考以下文章

如何知道是不是通过 require_once() 调用了 php 脚本? [复制]

如何从不同的目录 require_once?

如何修复'require_once()无法打开流'

如何在不使用require_once的情况下自动加载和调用独立的PHP类?

joomla 2.5中的require_once如何

(PHP)(XAMPP) 我该如何解决这个错误:致命错误:require_once(): Failed opening required 'PEAR.php' (include_path='.;C:\