我有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的本地主机上。
答案 0 :(得分:0)
您知道吗,您可以像这样使用include:
include '../../config.php';
答案 1 :(得分:0)
您的config.php为
DEFINE("ROOT_PATH", dirname( __FILE__ ) ."/" );
具有ROOT_PATH本身的定义。因此,每当需要ROOT_PATH时,都需要首先包含config.php。
如果config.php文件位于root / config.php中,则需要从root / en / index.php调用该文件,
include(dirname(__DIR__).'/config.php');
include( ROOT_PATH . "/includes/header.php");
然后代码将起作用。
编辑:
echo dirname(__DIR__).'/config.php'
exit;
在要调用的文件上运行此代码。.您知道要尝试包含的文件,并通过目录结构检查您是否在代码中获得相同的目录信息
答案 2 :(得分:0)
/** This must be done in the same file.
* (Or in a file whose import does not depend on the 'ROOT_PATH' constant.)
**/
define('ROOT_PATH', dirname( __FILE__ ) ."/" );
include( ROOT_PATH . "/config.php");
include( ROOT_PATH . "/includes/header.php");