我在index.php上包含header.php和footer.php有问题
网站的结构是这样的。
我有一个index.php页面,我还有4个文件夹(关于我们),(支持),(资产),(包括),它们在这些文件夹中有页面。在(包括)文件夹中,我有header.php和footer.php。在我的(资产)文件夹中,我有2个文件夹,分别是(css),(js)。在我的(css)文件夹中有我的style.css文件,在(js)文件夹中有我的custom.js文件。
在我的(包括)文件夹中,header.php文件包括这样的style.css。 。此外,在我的(包含)文件夹中,footer.php文件包括这样的custom.js。
此外,在我的(关于我们)文件夹中,有about-us.php页面。当我使用<?php include "../includes/header.php"; ?>
和<?php include "../includes/footer.php"; ?>
时,一切正常。
我的问题是这个。当我尝试在我的index.php页面中包含header.php或footer.php时,它们将不起作用。我尝试将它们像<?php include “/includes/header.php"; ?>
和<?php include "includes/footer.php"; ?>
包括在内,但它们不起作用。我尝试了不同的方法,但是没有任何效果。问题是我可以在文件夹内的子页面中包含header.php和footer.php,但不能在文件夹外的index.php中包含header.php和footer.php。另外,如果我必须对页眉或页脚进行任何更改,我将不得不对其进行两次更改,其中一项将对硬编码的index.php进行更改,另一项在包含在该子项中的header.php或footer.php中进行更改。页面。
如何做到这一点,以便可以在index.php页面中包含(包括)中的header.php和footer.php,还可以处理(关于我们)文件夹中的about-us.php页面?
谢谢。
答案 0 :(得分:0)
当您在文件夹结构的不同级别之间跳动时,参考文件非常困难[(不直观)。您可以写一本有关相对和绝对文件路径的书。
如果可能更好,请在您的网站太大而无法创建自己的config.php文件之前,为您的网站定义一个适当的基本URL,然后将其包含在您尝试的每个页面中供参考。
例如。在您网站的根目录中,创建一个名为config.php的文件并使用以下命令:
<?php
define("ROOT_PATH", $_SERVER["DOCUMENT_ROOT"]);
然后在所有其他文件中,您可以先引用config.php文件,该文件将为该文档定义ROOT_PATH,然后调用其他文件。
所以在您的header.php文件中
<?php
include "./config.php";
include(ROOT_PATH . "/assets/css/style.css");
然后,当您从index.php调用header.php时,header.php将具有指向CSS文件的绝对路径以供参考。
我希望我已经解释清楚了。
编辑/添加: config.php文件是对许多其他项目以及定义URL的任何PHP项目的便捷补充。您可以将数据库连接保留在其中,可以将经常使用的静态事物数组保存在其中,等等。它们成为了始终使用事物的“去处”。
答案 1 :(得分:-1)
这将起作用。
include "./includes/header.php";
否则,您可以在header.php
中包含footer.php
和index.php
的完整文件路径位置