在不同目录中使用header.php文件

时间:2019-07-20 12:04:05

标签: php html webserver apache2

我有一个具有以下结构的网页:

/var/www/html/webpage/
                    |-stands/
                    .      |-header.php
                    .
                    |-images/
                    .      |-picture.png
                    .
                    |-login/
                    .      |-login.php
                    .
                    |-index.php

我想在login / login.php和index.php这两个文件中使用stands / header.php。我在两个文件中都用

<?php
include("stands/header.php")
?>

<?php
include("../stands/header.php")
?>

在header.php使用images /文件夹中的图像(如images / picture.png)之前,该方法一直有效。

我在header.php中使用以下图片:

<img src="../images/picture.png" alt="nice pic"/>

我在login.php文件中获得了picture.png,但在index.php中却获得了nice pic

似乎,如果我包含header.php文件,则查找图片的目录不是从header.php目录开始,而是从包含图片的目录开始(例如,从index.php开始)在index.php的第二个父目录中,该目录为html/(由于../且没有images/文件夹,因此我得到了nice pic而不是.png文件

我的问题是:

是否有一种方法可以包含全局图形,这意味着它总是(总是)寻找相同的目录?

谢谢您的帮助,对于我的结构性问题也很抱歉(我不是英语,也不知道如何问这个简单的问题)

3 个答案:

答案 0 :(得分:0)

尝试为图像提供绝对路径。

<img src="<?php echo 'http://'.$_SERVER['HTTP_HOST']; ?>/images/picture.png" alt="nice pic"/>

它将使用当前URL并将其与图像路径合并。

答案 1 :(得分:0)

来自img标签的图像已加载到客户端,因此与php不相关。您的图片标签src必须相对于访问者当前位置。

您可以使用绝对路径,例如A J的答案,这将是一个解决方案,但是在您看来,您的login.php文件应该与{{ 1}}。除非您确实如此需要,否则我认为您应该尝试将将直接加载的index.php脚本放在您网站的根目录下,并将包含的脚本和图像放在文件夹中。

答案 2 :(得分:0)

 像上面一样使用,因为文件路径在您的情况下应该是正确的,而不是访问图像文件的正确方法。