【发布时间】:2011-03-21 00:40:42
【问题描述】:
所以, 检查这个目录结构
- /include_one.php
- /include_two.php
- /directory/main_file.php
假设我在 /directory/main_file.php 中,我在 include_one.php 中调用 include('../include_one.php');,以包含 include_two.php时间>。我需要打电话给include('include_two.php); 或include('../include_two.php');吗?
所以我的问题是:包含文件时,“相对包含路径”是否转移到包含文件,还是保留在主包含文件中?
我知道最好的选择是拥有一个包含 root_path 的 config.php,但是在这个阶段这是不可能的。
更新:
所以,我不确定谁是对的,因为这是我的测试
目录结构
/include.php
/start/start.php
/folder1/includeone.php
/folder1/folder2/includetwo.php
这是每个文件的内容
start.php
<?php
echo 'including ../include.php<br />';
include('../include.php');
?>
include.php
<?php
echo 'including folder1/includeone.php<br />';
include('folder1/includeone.php');
?>
includeone.php
<?php
echo 'including folder2/includetwo.php<br />';
include('folder2/includetwo.php');
?>
includetwo.php
<?php
echo 'done<br />';
?>
输出是
包括 ../include.php
包括文件夹 1/includeone.php
包括文件夹 2/includetwo.php
完成
【问题讨论】:
-
我的更新仍然没有答案...
-
嗨。我相信这取决于运行代码的系统。我目前正在从事一个已有 4 年历史的项目,该项目跨不同的操作系统和设置运行。不知何故,每次我克隆代码时,我都必须重新配置所有内容,而我的同事每次将代码克隆到他的机器上时都可以简单地运行它。我目前正在寻找一种方法,让 PHP 在每次从文件更改到文件时都会转移“相对包含路径”。
标签: php include-path