Php 如何在不同的页面上显示相同的页眉和页脚?

Php 如何在不同的页面上显示相同的页眉和页脚?,php,header,footer,Php,Header,Footer,我的所有页面都包含header.php和footer.php文件。示例页面如下所示- <?php include($_SERVER['DOCUMENT_ROOT'].'/header.php');?> <div id="content"> ... </div> <!-- content --> <?php include($_SERVER['DOCUMENT_ROOT'].'/footer.php') ?> 这使得测试非常乏味,因

我的所有页面都包含header.php和footer.php文件。示例页面如下所示-

<?php include($_SERVER['DOCUMENT_ROOT'].'/header.php');?>

<div id="content">
...
</div> <!-- content -->

<?php include($_SERVER['DOCUMENT_ROOT'].'/footer.php') ?>
这使得测试非常乏味,因为我必须上传到服务器上进行每一个微小的更改

另外,我仔细研究了WP代码,它使用get-header()来显示header.php文件。我不能完全理解这个功能。我的网站不使用可湿性粉剂


包含页眉和页脚文件的正确方法是什么?

包含任何文件的正确方法是include()或require()函数。Wordpress使用get_header()函数,因为header不仅仅是一个文件,所以他们创建了一个函数来输出它

您遇到的问题似乎是$\u服务器变量的问题。我已经很久没有使用PHP了,但我建议您只使用相对路径。例如,如果header.php和footer.php文件与index.php位于同一目录中,则可以执行以下操作:

<?php include("header.php');?>

<div id="content">
...
</div> <!-- content -->

<?php include('footer.php') ?>

似乎
$\u服务器['DOCUMENT\u ROOT']
指向
C:\xampp\htdocs
,而您的脚本位于
C:\xampp\htdocs\f\
,请检查本地环境中
$\u服务器['DOCUMENT\u ROOT']
的值

编辑:


...
?>

简单有用的方式(我在所有项目中都使用此方式):


查找PHP
include
function谢谢!另外,如何更改$\u服务器变量的值?此变量由PHP服务器自动填充。但是,您似乎已经在本地环境中创建了一个子文件夹
f
,用于测试。请看我编辑的答案,它可能会帮助你。工作!救了我一辈子。我在本地创建子文件夹,因为我同时处理多个项目/网站。我希望这是正确的做法!?是@Akshay Tyagi,对于你的问题,这是正确的处理方法。我已经尝试过了,虽然它在本地工作,但在服务器上,页眉/页脚不显示!相反,我可以更改$\u SERVER的值吗?
<?php include("header.php');?>

<div id="content">
...
</div> <!-- content -->

<?php include('footer.php') ?>
<?php
$rootDir = "";
if(strpos($_SERVER['HTTP_HOST'],'localhost')===FALSE)
{
  //On Production
  $rootDir = $_SERVER['DOCUMENT_ROOT'];
}
else
{
  //On Dev server
  $rootDir = $_SERVER['DOCUMENT_ROOT'].'/f';
}

<?php include($rootDir.'/header.php');?>

<div id="content">
...
</div> <!-- content -->

<?php include($rootDir.'/footer.php') ?>


?>
// find Base path
define( 'BASE_PATH', dirname(__FILE__) );

// include files
include BASE_PATH . '/header.php';
include BASE_PATH . '/footer.php';