PHP包含一个File 2目录

时间:2012-06-27 13:28:31

标签: php path include require

这是我的情况。我有一个 config.php 文件,我希望在所有文件夹之间共享。它位于我的 root:includes / config.php

我在 admin 文件夹中,并尝试包含该配置文件。

// 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中定义了这些环境和所有设置。如果我正在制作,那么第二行将完美无缺。但是在我的开发和localhost环境中..文件不在根目录中,它们位于子文件夹中..所以唯一可行的方法是:

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

好吧,我的config.php文件中有一个PATH常量,具体取决于环境,但我无法访问它,因为我试图包含该文件!

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

感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

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

的函数
parse_ini_file($filePath);

在ini文件中,您可以定义“生产”,“开发”,“暂存”环境。

这是推进可扩展性的更好方法。

在此Wiki页面中更好地解释了ini文件语法

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

如果您想使用php文件,可以在config.php中定义您的环境,并在所有常量的条件下进行换行。

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

realpath(dirname(__FILE__))

优于

$_SERVER['DOCUMENT_ROOT']

希望这会有所帮助..

KARTHIK