使用 php 包含多个子目录
Using php include with multiple sub directories
你好,我最近刚刚让我的网络服务器 运行 所有 .html 文件作为 .php 文件,现在允许我使用 php 包含功能,很有用。
但是我有多个子目录,每个子目录都有多个文件。
首页
--横幅
--banner2.html
--banner2.html
--signs
--sign1.html
等等。这里的问题是我试图将 include 用于我的顶部导航栏。当我在子文件中包含栏时,例如 banner2.html 它不会正确 link.
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>
在导航栏中是 link 到 about.html 通常我会做
<a href="../about.html">about</a>
但是当每个文件要共享同一个导航栏时我不能这样做。
我该如何解决这个问题?
有一些方法可以解决这个问题,其中之一是:
Use $_SERVER["DOCUMENT_ROOT"]
– 我们可以使用这个变量使我们所有的包含相对于服务器根目录,而不是当前工作目录(脚本目录)。然后我们会为我们所有的包含使用这样的东西:
`<a href="<?php echo $_SERVER["DOCUMENT_ROOT"].'/path/to/about.html' ?>">about</a>`
您还应该检查 this post。
我已经回答了我自己的问题,我什至觉得问这个问题很愚蠢。我只使用绝对路径
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>
您可以使用根目录的相对路径 /file.ext
示例:
<a href="/about.html">About</a>
你好,我最近刚刚让我的网络服务器 运行 所有 .html 文件作为 .php 文件,现在允许我使用 php 包含功能,很有用。
但是我有多个子目录,每个子目录都有多个文件。
首页 --横幅 --banner2.html --banner2.html --signs --sign1.html
等等。这里的问题是我试图将 include 用于我的顶部导航栏。当我在子文件中包含栏时,例如 banner2.html 它不会正确 link.
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>
在导航栏中是 link 到 about.html 通常我会做
<a href="../about.html">about</a>
但是当每个文件要共享同一个导航栏时我不能这样做。 我该如何解决这个问题?
有一些方法可以解决这个问题,其中之一是:
Use $_SERVER["DOCUMENT_ROOT"]
– 我们可以使用这个变量使我们所有的包含相对于服务器根目录,而不是当前工作目录(脚本目录)。然后我们会为我们所有的包含使用这样的东西:
`<a href="<?php echo $_SERVER["DOCUMENT_ROOT"].'/path/to/about.html' ?>">about</a>`
您还应该检查 this post。
我已经回答了我自己的问题,我什至觉得问这个问题很愚蠢。我只使用绝对路径
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>
您可以使用根目录的相对路径 /file.ext
示例:
<a href="/about.html">About</a>