【问题标题】:How do I include other files in PHP?如何在 PHP 中包含其他文件?
【发布时间】:2018-05-22 15:16:12
【问题描述】:

我刚开始在家创建网站。

当然,我必须拥有这两个页面才能快速完成我的网站:- footer.phpheader.php

所以我创建了这些页面并放置了一些内容。还在htdocs 文件夹内创建了一个索引页为index.php

然后我确实使用以下代码在index.php 页面中包含了headerfooter 页面。

<?php include 'header.php'; ?>
<?php include 'footer.php'; ?>

毫无疑问,它们运行良好,没有任何问题。

然后我在htdocs 中创建了一个目录为account

现在我在 account 目录 (/account/login.php) 中有一个 login.php 页面。

我多次使用相同的代码在登录页面中包含headerfooter。但他们没有工作!我看到什么都没有发生。如果我在htdocs 文件夹中(不在htdocs/account/ 中)创建login.php 页面,那么它可以工作。

那么,当登录页面位于account 目录中时,如何包含它们?

【问题讨论】:

  • 试试 你必须返回一个文件夹
  • 你在包含中使用相对路径吗?例如&lt;?php include '../header.php'; ?&gt;

标签: php header directory include footer


【解决方案1】:

在创建子目录和包含文件时,使用绝对文件路径总是更简单。

引用根目录的路径称为absolute (https://www.website.com/modules/header.php),您甚至可以删除域而只保留/modules/header.php。引用当前目录的路径称为relative (../images/phone.png)。 ../ 表示 URL 指向当前文件夹上方的目录。

请在此处查看与类似问题相关的答案:difference-between-relative-path-and-absolute-path-in-javascript

【讨论】:

  • 对于 PHP 和 include(),绝对路径可以是任何以 / 开头的路径,表示文件系统的根目录(或以 `c:` 开头 - 或任何其他驱动器号 -在 Windows 上)。您通常不希望通过 HTTP 包装器包含某些内容,因为包含的脚本将由服务器解释,并且只会返回结果(HTML、JSON 等)。
  • 确实如此,因此我的评论是:'您甚至可以删除域并只拥有 /modules/header.php。'
【解决方案2】:

我认为是文件路径问题,你可以使用这段代码:

<?php include '../header.php'  ?>
<?php include '../footer.php'  ?>

加载一级目录的文件。

【讨论】:

    猜你喜欢
    • 2015-11-06
    • 2015-07-28
    • 2021-11-09
    • 1970-01-01
    • 2019-10-09
    • 2021-12-22
    • 2020-03-14
    • 2011-06-24
    相关资源
    最近更新 更多