2

我正在设置我的网站以使用该include()语句来标准化页眉、页脚和导航等内容,例如

include('header.php);

但是,当我对两个不同目录中的页面使用相同的头文件时,header.phpbreak 中包含的相对链接,例如:

头文件.php
<a href="images/dog.jpg">

index.php
include('header.php);
变成
<a href="images/dog.jpg">

这是有效的,因为这是从 index.php 文件到 dog.jpg 的正确路径。

动物/canine.php
include('header.php);
变成
<a href="images/dog.jpg">

这不起作用,因为animals/images/dog.jpg 不存在。

所以,我的问题是,当包含 header.php 时,我可以在 header.php 文件中更改哪些内容,以便将 dog.jpg 的 url 调整为在 index.php 和 animal/canine.php 中工作?

4

2 回答 2

8

更改包含以使用绝对路径:

<a href="/images/dog.jpg">

这样,它们将基于您网站的根目录,并始终指向正确的文件夹。

于 2012-07-31T21:07:17.897 回答
1

创建一个名为的新变量$root_path,并将相对于您所在页面的 Web 目录的根路径放入其中。确保在包含 header.php 之前声明它

这样mysite.com/junk/index.php您的图像资产就在../images/

<?php
$root_path = '../'
include('header.php');

输出资产 url 时,放在$root_path它前面。

于 2012-07-31T21:10:18.973 回答