使用 include 时图像损坏
Broken image when using include
我有一个 header 和页脚 php 文件,它将用于我创建的每个 php 文件。我将它们都存储在文件夹 "include (inside my parent directory)" 中。它们都可以作为单独的文件正常工作。当我将它们包含在 parent 目录中的 index.php 中时,它们实际上正在工作。我的问题是,当我将它们用于文件夹内的其他文件时(例如 admin 文件夹中的 admin.php),图像已损坏,但是当我更改图像相对于 admin.php 的路径时,它工作正常,但是 index.php 现在有损坏的图像。我能做些什么来解决这个问题?希望你明白我的问题。谢谢你。
这些是我的代码:
header:
<div id = "header">
<img id="headerImage" src="images/logo1.jpg" />
</div>
索引:
<?php
session_start();
include 'include/header.php';?>
admin: <?php
include '../include/header.php';
?>
问题出在相对路径上,而在不同的文件夹中。
你可以做的是设置图像的绝对路径
http://www.domain.com/images/logo1.jpg
这样图像应该显示在任何页面
你的相对路径有问题。
如果您的项目在 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 而不是在管理页面中工作的原因,因为图像目录在 index.php
的同一目录中
也在这里
<?php
include '../include/header.php';
你应该有完整的路径 /projectname/includes/header.php
这是因为如果您必须在文件夹结构中包含更深层次的内容,您将不得不执行 ../../../include/header.php。很难维护。
希望这能解决您的问题。
我有一个 header 和页脚 php 文件,它将用于我创建的每个 php 文件。我将它们都存储在文件夹 "include (inside my parent directory)" 中。它们都可以作为单独的文件正常工作。当我将它们包含在 parent 目录中的 index.php 中时,它们实际上正在工作。我的问题是,当我将它们用于文件夹内的其他文件时(例如 admin 文件夹中的 admin.php),图像已损坏,但是当我更改图像相对于 admin.php 的路径时,它工作正常,但是 index.php 现在有损坏的图像。我能做些什么来解决这个问题?希望你明白我的问题。谢谢你。 这些是我的代码: header:
<div id = "header">
<img id="headerImage" src="images/logo1.jpg" />
</div>
索引:
<?php
session_start();
include 'include/header.php';?>
admin: <?php
include '../include/header.php';
?>
问题出在相对路径上,而在不同的文件夹中。 你可以做的是设置图像的绝对路径 http://www.domain.com/images/logo1.jpg 这样图像应该显示在任何页面
你的相对路径有问题。
如果您的项目在 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 而不是在管理页面中工作的原因,因为图像目录在 index.php
的同一目录中也在这里
<?php
include '../include/header.php';
你应该有完整的路径 /projectname/includes/header.php
这是因为如果您必须在文件夹结构中包含更深层次的内容,您将不得不执行 ../../../include/header.php。很难维护。
希望这能解决您的问题。