如何使用图像和PHP包括多个目录?

时间:2012-02-03 20:17:22

标签: php image hyperlink

我是PHP的新手。我想用它在html / jquery站点中包含一个通用页眉和页脚。目前我正在使用包含这样做:

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

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

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

在正确显示页眉和页脚中的index.php所有图片时,但由于它们是相对链接的(ex "img/facebook.png"),因此不会显示在gallery.php中。要工作,他们需要../包括在内。但是这会破坏通用标题的目的。

因此,我试图弄清楚如何链接包含文件中的图像,这与php文件所在的位置无关。我看过this thread(这听起来像我的问题),但我不明白任何答案。我还阅读了建议$_SERVER['DOCUMENT_ROOT'] .'/folder/';的内容,并结合回显来显示图像。我在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一无所知,所以如果你能尽量让答案尽可能基本,那就非常感激了。

谢谢!

1 个答案:

答案 0 :(得分:2)

而不是img/facebook.png,在/之前添加img/,如下所示:/img/facebook.png

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

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