我有一个具有以下结构的网页:
/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文件
我的问题是:
是否有一种方法可以包含全局图形,这意味着它总是(总是)寻找相同的目录?
谢谢您的帮助,对于我的结构性问题也很抱歉(我不是英语,也不知道如何问这个简单的问题)
答案 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)
像上面一样使用,因为文件路径在您的情况下应该是正确的,而不是访问图像文件的正确方法。