我的基本文件结构类似于:
domain.com/
home.php
images/
global/
nav/
nav-img.jpg
includes/
menu.php
fruit/
apples/
red/
gala/
gala.php
我想创建一个全局路径来建立我的 Web 根目录,无论它位于何处,我都可以在每个页面中动态引用它。我试图弄清楚如何使用 [例如] define(ROOT),以及如何从单个页面调用它。
知道所有页面都使用 [menu.php],我的障碍是,例如:
从 gala.php 页面 - 当我点击 [home] 时,它会查找:
/fruit/apples/red/gala/home.php
但这不存在。
另外,如果可能的话,我会尽量避免这些 [2] 的事情:
像这样在gala.php中使用 html 文件引用:../../../../includes/menu.php [找到正确的全局包含]
并避免在menu.php中使用链接引用,如下所示:/images/global/nav/nav-img.jpg
**
更新
**
- 解决了
就像其他人发布的一样,我最终使用了:
define('ROOT',$_SERVER['DOCUMENT_ROOT']);
define('INCLUDES',ROOT.'/path/to/includes/folder/');
当我从 html 调用它时效果很好:
include(INCLUDES.'menu.php'); // or any file
这很棒,因为无论从哪里调用它们,我都可以找到我的包含...一旦我弄清楚如何使用它,这很容易。
**
剩下的问题
**
[对于上面的#2]唯一剩下的问题是我在包含中的所有html链接都被破坏了,其中包含是从ROOT以外的级别调用的。
我发现一种解决方法是只使用绝对路径,例如:
href="/images/global/nav/nav-img.jpg"
有没有一种方法可以为图像位置创建 DOCUMENT_ROOT 类型的文件引用,以便我的包含总能找到它们?