【发布时间】:2012-02-26 10:36:42
【问题描述】:
我是 PHP 新手。我想用它在 html/jquery 站点中包含通用页眉和页脚。目前我正在使用包含来执行此操作:
<?php include('../includes/footer.php'); ?>
这很好用。我遇到问题的地方是页眉或页脚中的任何图像。
我的文件结构的解释:
根文件夹:包含index.php 和文件夹“includes”、“img”、“php”等
php 文件夹:包含gallery.php
包含文件夹:包含header.php、footer.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.php 和 gallery.php 都会出现此问题。
经过这个冗长的解释(对不起),我的主要问题是:
1) 如何让图像在多个目录的包含中正确显示?
2)如果我以正确的方式使用回声进行此操作,它无法正常工作的可能原因是什么?
再说一次,我对php一无所知,所以如果你能尽量让你的答案尽可能基本,将不胜感激。
谢谢!
【问题讨论】: