Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP页眉和页脚_Php_Header_Include_Footer - Fatal编程技术网

PHP页眉和页脚

PHP页眉和页脚,php,header,include,footer,Php,Header,Include,Footer,我正在尝试为我的整个网站创建一个通用的页眉和页脚。但是我的网页被组织在不同的文件夹中。我应该如何在PHP文件中定义我的链接,以便将它们包含在所有页面中。下面是我的menu.PHP文件的一部分 Code:Root <li> <a href="company.html" <?php echo $active[2] ?>>COMPANY</a> <ul> <li><a href="team.html"><stro

我正在尝试为我的整个网站创建一个通用的页眉和页脚。但是我的网页被组织在不同的文件夹中。我应该如何在PHP文件中定义我的链接,以便将它们包含在所有页面中。下面是我的menu.PHP文件的一部分

Code:Root
<li>
<a href="company.html" <?php echo $active[2] ?>>COMPANY</a>
<ul>
<li><a href="team.html"><strong>Our</strong> Team</a></li>
<li><a href="index.html#clienteles"><strong>Our</strong> Clientele</a></li>
<li><a href="company.html#testimonials">Testimonials</a></li>
<li><a href="others/profile.html"><strong>Our</strong> Profile</a></li>
</ul>
</li>

Code: Child
<li>
<a href="../company.html" <?php echo $active[2] ?>>COMPANY</a>
<ul>
<li><a href="../team.html"><strong>Our</strong> Team</a></li>
<li><a href="../index.html#clienteles"><strong>Our</strong> Clientele</a></li>
<li><a href="../company.html#testimonials">Testimonials</a></li>
<li><a href="../others/profile.html"><strong>Our</strong> Profile</a></li>
</ul>
</li>
我不想使用绝对路径,因为我正在mac上的本地apache服务器上测试站点。

您应该使用绝对路径。只需为您的项目创建一个BASE_URL常量,并将其指向您的BASE URL。之后,只需将其附加到您的URL

<li><a href="<?php echo BASE_URL?>/team.html"><strong>Our</strong> Team</a></li>
...
...
...
<li><a href="<?php echo BASE_URL?>/path/team.html"><strong>Our</strong> Team</a></li>

我会包括一个文件,可能是config.php,里面有一个绝对路径。这样,即使您在本地测试您的站点,您也只需更改此常量,并在您想要的任何链接中使用它。

如果这些页面位于文档根目录上,您可以在它们前面加一个斜杠:

<li><a href="/team.html"><strong>Our</strong> Team</a></li>
在Unix/上,将提供指向根目录的路径,无论它是http://localhost/team.html 或http://example.com/team.html.我会使用。一旦它被包括在内,你就可以使用相对链接,浏览器就会在正确的地方找到它


如果你真的不想在不同的域中来回切换url,你可以尝试使用$\u SERVER['HTTP\u HOST']动态设置它。

我认为最好的解决方案是有一个对象,它可以呈现布局和任何你想显示的页面

您的布局如下所示:

mylayout.phtml

<html>
<head><?php $title ?></head>
<body>
<div id="header"
</div>

<?php include($_GET['webpage']) ?>

<div id="footer">
</div>
</body>
</html>
然后使用mod rewrite创建.htaccess,将URL更改为

http://www.mysite/team/
仅仅显示一个页面似乎有点牵强,但通过花一些时间开发一个结构和一种调用所有页面的标准方式,您将获得对模板的更大控制,节省编码时间,并在每个页面上都有页眉和页脚

http://www.mysite/team/