全局文件引用

时间:2013-03-14 20:56:27

标签: php html url structured-data

我的基本文件结构如下:

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]事情如果可能:

  1. 使用 gala.php 中的html文件引用,如下所示: ../../../../includes/menu.php [找到正确的全球包括]

  2. 并避免在 menu.php 中使用链接引用,如下所示: /images/global/nav/nav-img.jpg

  3. **

    更新

    **

    1. 解决
    2. 就像其他人发布的那样,我最终使用了:

      define('ROOT',$_SERVER['DOCUMENT_ROOT']); 
      define('INCLUDES',ROOT.'/path/to/includes/folder/');
      

      当我从html调用它时效果很好:

      include(INCLUDES.'menu.php');  // or any file
      

      这很棒,因为我可以找到我的包含,无论它们从哪里被调用......一旦我弄清楚如何使用它,这很容易。

      **

      剩余问题

      **

      [对于上面的#2]唯一剩下的问题是,包含从ROOT以外的级别调用包含的所有html链接都被破坏了。

      我发现解决方法是使用绝对路径,如:

      href="/images/global/nav/nav-img.jpg"
      

      有没有办法可以为图片位置创建DOCUMENT_ROOT类型的文件参考,以便我的包含总能找到它们?

1 个答案:

答案 0 :(得分:0)

也许,您可以使用$ {SERVER信息here来分配$ server_root变量或$ prefix变量,并将所有内容作为基础。