通过站点路径调用 PHP 包括

Calling PHP includes via a site path

我研究了 2 天,但找不到有效的答案。

这是我的文件结构。

/ucdev/ (index and future files)
/ucdev/classes/ (Classes)
/ucdev/users/ (all the user-related docs,account settings etc)
/ucdev/users/models/ (all the other config and db files, for now).

我需要想出一些方法来加载我所有的 类,这与我调用包含的文件夹无关。基本上我需要建立一个有效的站点根变量。

我使用

得到了最接近的
$subfolder = "/ucdev/"; 
$root = $_SERVER["DOCUMENT_ROOT"].$subfolder;

但是 Chrome 将 $_SERVER["DOCUMENT_ROOT"] 视为本地 c:\ 类型路径并且不允许我加载资源(即 Not allowed to load local resource error in Chrome"

所以,基本上我需要一种方法让我的 config.php 文件有类似...

require_once ($root."classes/Session.php");
require_once ($root."classes/Token.php");
require_once ($root."classes/User.php");

并加载这些资源,无论 config.php 是否从

中提取
ucdev/index.php
or
ucdev/users/login.php

我希望我提供的信息足够有意义。

最后,最重要的事情之一是我以某种方式结束了一个 "root path" 变量,这样我就可以从根目录而不是相对于调用它们的文件调用我的所有链接。无论调用什么文件,我都希望我的顶部导航能够正常工作。

我发现最好的方法是:

$subfolder = "/ucdev/";
$root = realpath($_SERVER["DOCUMENT_ROOT"].$subfolder);
define('root',str_replace("\","/",$root) ."/");

然后当我包含 类 我使用

require_once (root."classes/Config.php");

而且他们可以在任何地方工作。

对于相对于根目录的图像和链接,我可以做类似...

img src="<?php root; ?>images/logo.png"

非常感谢 Lucky Chingi 为我指明了正确的方向!