Php 如何在include()中支持变量?

Php 如何在include()中支持变量?,php,include,Php,Include,我有一个简单的php文件,其中包含一个include命令,在我的例子中不起作用 $rootfolder = 'www.example.com/new/'; include $rootfolder.'_header.php'; My_header.php文件位于www.example.com/new/中,但未包含在内。我看过说明书,上面说这应该行得通 当我检查包含路径时 echo $rootfolder.'_header.php'; 它工作正常,并指向正确的文件:“www.example.co

我有一个简单的php文件,其中包含一个include命令,在我的例子中不起作用

$rootfolder = 'www.example.com/new/';
include $rootfolder.'_header.php';
My_header.php文件位于www.example.com/new/中,但未包含在内。我看过说明书,上面说这应该行得通

当我检查包含路径时

echo $rootfolder.'_header.php';
它工作正常,并指向正确的文件:“www.example.com/new/_header.php”

但是为什么它在包含行中对我不起作用呢


你能帮我吗?提前谢谢。

您使用了错误的根目录。尝试使用
realpath
计算文件的绝对路径:

$rootfolder = realpath($_SERVER["DOCUMENT_ROOT"])."/new/";
include $rootfolder.'_header.php';
或者使用
\uuuu FILE\uuuu
\u header.php
回显文件路径,查看其绝对路径是什么

$path = dirname(__FILE__);
echo "$path";

在我给出的任何地方,都有各种技术可以访问文件表单

如果您想从其他文件夹访问,请执行以下操作

下面的文件夹层次结构请仔细查看

-根

  • css
  • 包括
    • _header.php
  • js
  • 管理员
    • manager.php
  • index.php
如果在index.php中包含_header.php,那么

include "include/_header.php";
如果在admin文件夹的manager.php中包含_header.php,则

include "../include/_header.php";
听到拖。(点)指示返回层次结构中的一个步骤


如果您没有遇到任何问题,请在评论中再次询问您遇到的错误是什么?您的简单php文件位于何处?您需要使用绝对路径而不是相对路径使用绝对路径而不是url。ie
$rootfolder='c:/wwwroot/inc/;包括$rootfolder'_header.php'我想强调@tluebke使用了错误的概念,试图通过URL而不是本地文件系统的路径包含文件。不久前,它(“远程包含”)起作用,但由于产生安全问题而被称为一种不良做法。@skyboyer:我的问题是,我在不同的子文件夹中有不同的文件,但希望在所有文件中都有相同的标题,而不需要在每个文件中进行编辑,这取决于它们在web服务器上的本地路径。我想通过使用include的绝对路径来解决这个问题。@tluebke磁盘上的www.example.com真实文件夹不仅仅是域名吗?www.example.com只是域名,但我感到困惑,因为我认为这个“绝对路径”可能有效。路径名为“/mnt/userid/example.com”,include()可以很好地工作。实际上,这不是问题所在。两个文件都在同一个文件夹中,但我的方法是错误的。然后@tluebkeAnatPort回答了我的问题。