使用php包含多个子目录

时间:2015-10-01 19:59:51

标签: php html css php-include

您好我最近刚刚使用我的Web服务器将所有.html文件作为.php文件运行,现在允许我使用php include函数,这非常有用。

但是我有多个子目录,每个目录中都有多个文件。

主页   --banners     --banner2.html     --banner2.html   --signs     --sign1.html

等等。这里的问题是我试图使用包括我的顶部导航栏。当我在子文件中包含栏时,例如banner2.html它不会正确链接。

nav.php

<ul class="nav navbar-nav">
                    <li>
                        <a href="about.html">About</a>
                    </li>
                    <li>
                        <a href="Services.html">Services</a>
                    </li>
                    <li>
                        <a href="index.php">Contact</a>
                    </li>

                    <li>
                        <a href="Login/Sign-In.html">Login</a>
                    </li>

                    <li>
                        <a href="Login/logout.php">Logout</a>
                    </li>

                    <li>
                        <a href="PHP/Cart.php"><img src="images/Cart.gif" style="height: 20px; width:20px;"> Cart</a>


                    </li>

                </ul>
导航栏中的

是about.html的链接,通常我会做

<a href="../about.html">about</a>

然而,当每个文件要共享同一个导航栏时,我无法做到这一点。 我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

我已经回答了自己的追求,甚至对提出这个问题感到愚蠢。我刚刚使用了absoulte路径

nav.php

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav">
                    <li>
                        <a href="http://domain.com/about.html">About</a>
                    </li>
                    <li>
                        <a href="http://domain.com/Services.html">Services</a>
                    </li>
                    <li>
                        <a href="http://domain.com/index.php">Contact</a>
                    </li>

                    <li>
                        <a href="http://domain.com/Login/Sign-In.html">Login</a>
                    </li>

                    <li>
                        <a href="http://domain.com/Login/logout.php">Logout</a>
                    </li>

                    <li>
                        <a href="http://domain.com/PHP/Cart.php"><img src="images/Cart.gif" style="height: 20px; width:20px;"> Cart</a>


                    </li>

                </ul>

答案 1 :(得分:0)

有一些方法可以解决这个问题,其中之一是:

使用$_SERVER["DOCUMENT_ROOT"] - 我们可以使用此变量来生成相对于服务器根目录的所有包含,而不是当前工作目录(脚本的目录)。然后我们会为我们所有的包含使用类似的东西:

`<a href="<?php echo $_SERVER["DOCUMENT_ROOT"].'/path/to/about.html' ?>">about</a>`

另外,您应该查看this post

答案 2 :(得分:0)

您可以使用根目录的相对路径/file.ext

实施例: <a href="/about.html">About</a>