我有一个应用程序被分解为多个具有公共文件的站点。结构看起来像这样......
|
|--[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()
的更优雅的解决方案感谢。
答案 0 :(得分:1)
你确定包含“require_once”的脚本在[站点A]中而不在它的子文件夹中吗?我问,因为路径是相对于包含脚本。例如,如果您在站点A中有一个包含“/subfolder/config.php”的Index.php文件,并且您希望config.php包含站点A之外的某些内容,则必须使用
require_once(../../Includes/include.php)