繁体   English   中英

从不同文件夹获取根路径目录时遇到问题

[英]Having issues with getting root path directory from different folders

我正在尝试为不同文件夹中的不同文件连接某个头文件。 问题是,例如在/ backend中包含相同文件时,将很容易直接调用它(因为索引也在/ backend中),但是从backend / pages调用它时,它不再调用链接结构,从而导致死链接。

我已经尝试使用../和不同的头文件进行所有可能的操作,但这是不行的。 试图找到下面的URL这样的解决方案确实很接近,但是我似乎无法弄清楚。

PHP项目中的根路径变量

例如,将根自动自动包含在include或require中的最佳方法是什么。

如果使用的前端控制器(如index.php文件)正在启动并执行整个应用程序,则可以在其中设置一个常量,例如define('APP_ROOT', __DIR__); 并将根设置为您的前端控制器。

您可以通过执行APP_ROOT . "/includes/header.php"从任何地方访问头文件APP_ROOT . "/includes/header.php" APP_ROOT . "/includes/header.php"

如果不使用前端控制器,则可以在每个文件中进行设置。 因此,对于后端/页面,它将类似于./../includes/header.php $_SERVER['DOCUMENT_ROOT']是,使用$_SERVER['DOCUMENT_ROOT']获取Web服务器vhosts配置所提供的应用程序的根目录。 (NGINX的Apache最有可能)

$_SERVER['DOCUMENT_ROOT'] . "/app/backend/includes/header.php" 例如$_SERVER['DOCUMENT_ROOT'] . "/app/backend/includes/header.php"

例如,将根自动自动包含在include或require中的最佳方法是什么。

我不知道有任何方法可以做到这一点,而无需修改PHP本身并从源代码重新编译,但是我可能是错的。 您的根路径将始终存储在$_SERVER['DOCUMENT_ROOT']

我认为您可能想研究的是自动加载功能 ,更具体地说是PSR-4composer

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM