2013-03-14 38 views
0

我的基本文件结构是这样的:全局文件引用

domain.com/ 
     home.php 
     images/ 
       global/ 
         nav/ 
          nav-img.jpg 
     includes/ 
       menu.php 
     fruit/ 
       apples/ 
         red/ 
          gala/ 
           gala.php 

我想创建一个全局路径建立我的网站根目录,我可以在飞行中的每个页面无论它驻留引用。我试图弄清楚如何使用[例如] define(ROOT),以及如何从单个页面调用它。

知道,所有的页面使用[menu.php],我的障碍,例如:

从gala.php页面 - 当我点击[首页],它查找:

/fruit/apples/red/gala/home.php 

但这并不存在。

此外,我试图避免这些[2]的事情,如果可能的:

  1. gala.php使用这样的HTML文件引用: ../ .. /../../includes/menu.php [找到正确的全球列入]

  2. ,避免menu.php使用这样的链接引用: /images/global/nav/nav-img.jpg

**

更新

**

  1. 解决

像其他人发布,我结束了使用:

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类型,所以我包括总能找到他们吗?

回答

0

也许,你可以使用$ _SERVER信息找到here来分配一个$ server_root变量或一个$前缀变量,并将所有的东西都放在这个变量上。

+0

我能想到你的(X)HTML中使用此代码的唯一的其他东西: <基地HREF =“我的根”> – 2013-03-15 01:32:13

+0

是啊,我刚发现'' THX保罗。但是,这会打破页面上的所有其他链接。 – conceive 2013-03-20 03:33:14

+0

Thx对于这个想法也是,'$ _SERVER'看起来不赞成。 – conceive 2013-03-20 03:52:32