【发布时间】:2018-07-18 13:48:27
【问题描述】:
我有 2 个文件 index.php 和 header.php,它们都在不同的文件夹中。
root/en/index.php
root/includes/header.php
我尝试使用 config.php 文件(放置在根目录中)设置根文件夹:
DEFINE("ROOT_PATH", dirname( __FILE__ ) ."/" );
在 index.php 中,如果我尝试包含任何页面(header.php 或 confing.php),路径仍然从 index.php 子文件夹 (en) 开始,而不是从根目录开始。在 index.php 我使用:
include( ROOT_PATH . "/config.php");
include( ROOT_PATH . "/includes/header.php");
结果是:
警告:使用未定义的常量 ROOT_PATH - 假定为“ROOT_PATH”
警告:include(ROOT_PATH/config.php):打开流失败:root/eng/index.php 中没有这样的文件或目录。
所以我尝试不使用 confing.php(因为我虽然将文件包含在子文件夹中会更改根文件夹)但它仍然不起作用..
我在本地主机上,使用 XAMP。
【问题讨论】:
-
你必须阅读你的错误
-
你的文件是 root/en/index.php 吗?我认为应该是 root/eng/index.php
-
@executable 就在那里。错误消息中有很多信息表明您的常量定义不正确,因此路径构建不正确。另一种解决方案是使用上升的相对路径,例如
include '../includes/header.php';应该允许您从 index.php 中包含该文件。但是,如果您在尝试时收到新的错误消息,您应该再次阅读并解释它们。 -
index.php 放在 root/en 文件夹中。对不起,“eng”我修改了路径,在这里看起来很简单,并且不小心输入了 eng 而不是 en。问题是我无法从 root/en/ 转到 root
-
我猜你们俩都在引用未正确定义的 ROOT 常量。我已经在论坛和教程上了解了它是如何工作的,看起来很好,我不明白为什么它不起作用......
标签: php include directory root