由php产生的断开链接包括引用

时间:2013-03-14 01:47:28

标签: broken-links php-include

我正在学习php,但现在正面临着一个引用问题。我搜索了很多,但我找不到任何有确切结构问题的帖子。希望掌握这个障碍,以便我可以走向下一个......

我的基本文件结构如下:

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

我想创建一个建立我的Web根目录的全局路径,我可以在每个页面中随时随地引用它。但是这个一般主题的其他帖子给出了[10]我可以使用的不同功能。我只想要[1]。另外,我不知道在哪里放置[例如] define(ROOT),或者如何从单个页面调用它。

将根据我的情况定义(ROOT)工作吗?


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

来自gala / gala.php - 当我点击[home]时,它会查找:

/fruit/apples/red/gala/home.php  [does not exist, of course!]

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

我。使用 gala.php 中的html文件引用,如下所示:../../../../includes/menu.php

找到正确的全局包含。

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

任何反馈都会被赞赏[+]或[ - ]。非常感谢。

1 个答案:

答案 0 :(得分:0)

好的,这就是我做的最好的事情:

对于我。和II。避免使用这么多../../../../ 在所有 src =“”和 href =“”我刚刚解决并使用了前导斜杠的网站相关文件引用,例如“ /includes/menu.php“这会让我到站点根目录,从那里构建文件的位置。

对于全局文件参考,其中有两个工作:

<?php 
require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/";
?> 
// in `<head>` section

使用<?php include ('menu.php'); ?>

或者这一个工作太:

<?php 
define('ROOT',$_SERVER['DOCUMENT_ROOT']); 
define('INCLUDES',ROOT.'/includes/'); 
?>  
// in `<head>` section

在另一个级别的文件中使用<?php include (INCLUDES.'menu.php'); ?>