PHP 包括一个文件 2 目录


PHP Including a File 2 directories back

这是我的情况。 我有一个 config.php 文件,我想在我的所有文件夹之间共享。 它位于我的根目录中:include/config.php

我在我的管理员文件夹中,正在尝试包含该配置文件。

// Does not work
require_once "../../includes/config.php";
// This will kind-of-work.. see below
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/config.php";

第二行的问题是我有 3 种不同的环境。 本地主机、开发和生产。

我在 config.php 中定义了这些环境和所有设置。 如果我在生产中,那么第二条生产线将完美运行。 但是在我的开发和本地主机环境中。文件不在根目录中,它们位于子文件夹中。因此,唯一的方法是:

require_once $_SERVER['DOCUMENT_ROOT'] . "/sub_folder/includes/config.php";

好吧,根据环境的不同,我的config.php文件中有一个PATH常量,但是我无法访问它,因为我正在尝试包含该文件!

所以我不确定解决这个问题的最佳方法。我希望这是有道理的。

任何帮助不胜感激!

如果你把配置文件作为.ini文件而不是php。你有一个名为

parse_ini_file($filePath);

在INI文件中,您可以定义"生产","开发","暂存"环境。

这是实现可伸缩性的更好方法。

ini 文件语法在此 wiki 页面中得到了更好的解释

http://en.wikipedia.org/wiki/INI_file

如果你想使用 php 文件,你可以在 config 中定义你的环境.php并在所有常量上包装 if 条件。

对于,您可以使用的目录结构

realpath(dirname(__FILE__))

哪个比

$_SERVER['DOCUMENT_ROOT']

希望这有帮助..

卡尔西克