【问题标题】:How to use images and php includes across multiple directories?如何跨多个目录使用图像和 php 包含?
【发布时间】:2012-02-26 10:36:42
【问题描述】:

我是 PHP 新手。我想用它在 html/jquery 站点中包含通用页眉和页脚。目前我正在使用包含来执行此操作:

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

这很好用。我遇到问题的地方是页眉或页脚中的任何图像。

我的文件结构的解释:
根文件夹:包含index.php 和文件夹“includes”、“img”、“php”等
php 文件夹:包含gallery.php
包含文件夹:包含header.phpfooter.php

查看index.php 时,页眉和页脚中的所有图像都可以正常显示,但是由于它们是相对链接的(例如"img/facebook.png"),因此不会显示在gallery.php 中。为了工作,他们需要一个 ../ 包括在内。但这会破坏通用标头的目的。

因此,我试图弄清楚如何以与 php 文件所在位置无关的方式链接包含文件中的图像。我读过this thread(这听起来像是我的问题),但我不明白任何答案。我还阅读了建议 $_SERVER['DOCUMENT_ROOT'] .'/folder/'; 的内容,并结合使用 echo 来显示图像。我在我的footer.php 中尝试了这个代码:

<?php
$path = $_SERVER['DOCUMENT_ROOT'] . '/img/';
$image = ($path . "facebook.png");
echo "<img src=\"$image\" />"; ?>

不过,当我查看该页面时,我最终会看到一个撕破的纸图标,而不是我的图像。我认为这意味着路径不正确,但我不知道为什么。 facebook.png 位于 img 文件夹中。 index.phpgallery.php 都会出现此问题。

经过这个冗长的解释(对不起),我的主要问题是:
1) 如何让图像在多个目录的包含中正确显示?
2)如果我以正确的方式使用回声进行此操作,它无法正常工作的可能原因是什么?

再说一次,我对php一无所知,所以如果你能尽量让你的答案尽可能基本,将不胜感激。

谢谢!

【问题讨论】:

    标签: php image hyperlink


    【解决方案1】:

    代替img/facebook.png,在img/ 之前添加/,如下所示:/img/facebook.png

    这表示“转到根目录,并在那里查找 img 文件夹。然后您的所有图像都应该可以正常工作。图像的路径是绝对或相对的,具体取决于您正在查看的 HTML 页面,而不是哪个用于创建它的文件。

    虽然“php”文件夹可能没有太多理由 - 只需将所有页面保存在根目录中即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 2011-11-14
      • 2015-01-31
      相关资源
      最近更新 更多