【问题标题】:PHP include Image file not displayingPHP包含图像文件不显示
【发布时间】:2014-04-15 03:07:04
【问题描述】:

我的网站的标题在所有文件中都是相同的,因此我决定使用<?php include ;?> 将其放在每个文档的顶部,而不是重写代码和链接样式表。

我的问题是标题应该附带的徽标没有显示。

文件结构

如您所见,头文件所在的位置,名为“Picture2.png”的徽标位于图像文件夹中。

PHP

<?php include('./_/includes/header.php'); ?>

HTML(在 header.php 中)

<nav id="navigation">
<ul id="navList">
    <li id="navLogo"><img src="/image/Picture2.png"/>Computing</li>
    <li><a class="navItem" href="gallery.php">Gallery</a></li>
    <li><a class="navItem" href="topics.php">Core Topics</a></li>
    <li><a class="navItem" href="courseview.php">Courses</a></li>
    <li><a class="navItem" href="index.php">Home </a></li>
</ul>
</nav>

部分标题显示不正确

注意** 标题中的其他所有内容均已正确显示,我使用的是本地服务器,如果这会有所不同

【问题讨论】:

  • 为什么是_/?你试过include('./includes/header.php') 吗?
  • 这不会有什么不同,除了图片显示正确
  • 刮掉上面的评论,我知道你现在在用什么。
  • 你的 index.php 和 gallery.php 等文件在我拿的那些子文件夹之外。
  • 那些在“finalprojectneat”文件夹中我不明白为什么标题的其余部分显示而不是图像?

标签: php html image


【解决方案1】:

您正在为图像使用绝对路径。

您应该放置并使用相对路径:

<img src="_/includes/image/Picture2.png"/>

而不是

<img src="/image/Picture2.png"/>

【讨论】:

  • 话虽如此,应该指出问题在于他的文档根不是他认为的那样。
  • 这并没有改变任何东西,我最初确实尝试过
  • 您必须考虑包含其他文件(可能是 index.php)的文件的位置。查看您用于访问页面的 url,然后从那里开始构建相对路径。 (我改了答案)
  • 我这样做了,甚至把图片和header.php放在同一个目录下,结果还是一样
  • 如果您只是复制/粘贴了我所做的,我有一个错字(缺少“包含”目录的“s”)
【解决方案2】:

是的,他使用图像的绝对路径,但项目不在服务器根文件夹中,那么您需要告知路径中的文件夹名称...

使用&lt;img src="/finalprojectneat/image/Picture2.png"&gt;,然后您的徽标就会显示在每个页面上。但不是最明显的,因为当您发送到生产服务器时,您没有“finalprojectneat”文件夹,那么您必须使用“projectneat”删除所有路径。

一种解决方案是在“index.php”中定义一个常量,在“index.php”中不是必需的,但在项目的根文件夹中是必需的

define ('_IMAGES_', realpath(dirname(__FILE__) . '/image'));

如果您将此常量放在根文件夹内的另一个文件中,请使用“require”将这些常量导入您的视图...

在你看来,使用

<?php echo _IMAGES_ . '/Picture2.png'; ?>

【讨论】:

    猜你喜欢
    • 2016-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    相关资源
    最近更新 更多