我有一个页眉和页脚php文件,它将用于我创建的每个php文件。我将它们都存储在文件夹“include(在我的父目录中)”中。它们都可以作为单个文件正常工作。当我将它们包含在父目录中的index.php上时,它们实际上正在工作。我的问题是,当我在文件夹内的其他文件上使用它们时(例如admin文件夹上的admin.php),图像被破坏,但是当我相对于admin.php更改图像的路径时,它正常工作,index.php现在有一个破碎的图像。我该怎么做才能解决这个问题?希望你理解我的问题。谢谢。 这些是我的代码: 头:
<div id = "header">
<img id="headerImage" src="images/logo1.jpg" />
</div>
指数:
<?php
session_start();
include 'include/header.php';?>
admin: <?php
include '../include/header.php';
?>
答案 0 :(得分:0)
问题在于相对路径,而在不同的文件夹中。 你可以做的是设置图像绝对的路径 http://www.domain.com/images/logo1.jpg 就像那样,图像应该显示在任一页面中
答案 1 :(得分:0)
您的相对路径存在问题。
如果您的项目位于webroot下的子文件夹中 例如:host.com/projectname/,你可以:
<img id="headerImage" src="/images/logo1.jpg" />
这将指向host.com/,因此您应该在其前面加上正斜杠:/projectname/images/logo1.jpg。路径前的正斜杠将自动指向webroot。如果您的项目位于webroot下,那么斜杠就足够了。
如果你喜欢你已经完成了:
<img id="headerImage" src="images/logo1.jpg" />
开头没有正斜杠的路径将指向它所在的当前目录。 这就是为什么它在index.php中而不是在admin页面中工作的原因,因为images目录与index.php的目录相同
也在这里
<?php
include '../include/header.php';
您应该拥有完整路径/projectname/includes/header.php
这是因为如果您必须在文件夹结构中包含更深层次的内容,则必须执行../../../include/header.php。这很难维持。
希望这能解决你的问题。