1

我有一个应用程序,它被分成几个具有公共文件的站点。结构看起来像这样...

|
|--[Site A] <--Web site A points here
|   |-- (Files and folders)
|
|--[Site B] <--Web site B points here
|   |-- (Files and folders)
|
|--[Includes] <--common files are here

如果我在站点 A 或 B 并执行以下操作:

require_once(include.php)

一切正常,但如果我这样做:

require_once(../Includes/include.php)

我得到一个错误。

我通过做一些工作来解析路径来解决这个问题,例如

$path = explode( "\\" , __DIR__ );
for ($i = 1; $i <= 2; $i++) { array_pop( $path ); }
$path = implode( "\\" , $path ) . "\\includes\\initialize.php" ;

虽然这可行,但我正在寻找使用 require_once() 的更优雅的解决方案

谢谢。

4

1 回答 1

1

您确定包含“require_once”的脚本位于 [站点 A] 而不是它的子文件夹中吗?我问是因为路径是相对于包含脚本的。例如,如果站点 A 中有一个包含“/subfolder/config.php”的 Index.php 文件,并且您希望 config.php 包含站点 A 之外的内容,则必须使用

require_once(../../Includes/include.php)
于 2012-04-04T20:46:42.290 回答