【问题标题】:PHP - problem including header and footer inside my index websitePHP - 在我的索引网站中包含页眉和页脚的问题
【发布时间】:2019-02-08 09:09:50
【问题描述】:

在我的 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 中包含。此外,如果我必须对页眉或页脚进行任何更改,我将不得不更改两次,一次用于 index.php,它将被硬编码,另一次用于 header.php 或 footer.php,它们包含在 sub页面。

我怎样才能做到这一点,以便我可以在我的 index.php 页面中的(包含)中包含 header.php 和 footer.php,并且还可以在(关于我们)文件夹内的 about-us.php 页面上工作?

谢谢。

【问题讨论】:

  • 使用:include './includes/header.php';,注意第一个正斜杠前面的点 (.)。
  • @jibsteroos 不起作用
  • 您收到什么错误消息?
  • @jibsteroos 当我使用你的代码时,我没有收到错误消息,但 style.css 和 custom.js 不起作用。另外,当我输入这段代码时 我收到此错误消息 --- 警告:包含(/includes/header.php):无法打开流:没有这样的文件或目录 - 我也收到此消息 - 警告:包含():打开失败' /includes/header.php' 用于包含 --
  • 当你从 index.php 调用它们时说它们“不起作用”,你的意思是 header.php 和 footer.php 文件不加载,或者它们不加载CSS?

标签: php include


【解决方案1】:

当您在文件夹结构的不同层级之间跳来跳去时,参考文件很困难 [非直观(选择一个词)]。你可以写一本关于相对和绝对文件路径的书。

如果可能更好,在您的网站变得太大而无法自己创建 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 文件可以方便地添加到任何 PHP 项目中,用于许多其他事情以及定义 URL。您可以将您的数据库连接、您经常使用的静态事物数组等保留在其中。它们成为经常使用事物的“去处”。

【讨论】:

  • 谢谢我去试试
【解决方案2】:

这会起作用。

include "./includes/header.php";

否则,您可以在index.php 中包含header.phpfooter.php 的完整文件路径位置

【讨论】:

  • OP不需要帮助,包括他的头文件,头文件没有引用他目录结构中的其他文件。
猜你喜欢
  • 1970-01-01
  • 2015-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-10
  • 1970-01-01
相关资源
最近更新 更多