我是PHP的新手。我想用它在html / jquery站点中包含一个通用页眉和页脚。目前我正在使用包含这样做:
<?php include('../includes/footer.php'); ?>
这很好用。我遇到问题的地方是页眉或页脚中的任何图像。
我文件结构的解释:
根文件夹:包含index.php
和文件夹“includes”,“img”,“php”等
php文件夹:包含gallery.php
包含文件夹:包含header.php
,footer.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.php
和gallery.php
都会出现此问题。
在这个相当漫长的解释之后(对不起),我的主要问题是:
1)如何在多个目录中的包含中正确显示图像?
2)如果我以正确的方式回答这个问题,那么它不起作用的可能原因是什么?
再一次,我对php一无所知,所以如果你能尽量让答案尽可能基本,那就非常感激了。
谢谢!
答案 0 :(得分:2)
而不是img/facebook.png
,在/
之前添加img/
,如下所示:/img/facebook.png
这表示“转到根目录,然后在那里查找img
文件夹。所有图像都可以正常工作。图像的路径是绝对的或相对的,基于您正在查看的HTML页面,不是您用来创建它的文件。
虽然“php”文件夹可能没有太多理由 - 只需将所有页面保存在根目录中。