如何判断哪个页面叫叫php include?

How to determine what page called called the php include?

我在一个已建立的网站上工作,其中有很多问题。我正在尝试合并一个将在 'header.php' 文件中编码的新导航栏。我想在 index.php 和其他使用 <?php include('header.php') ?> 的页面中调用它,但页面存在差异,它需要 header.php 是动态的。我希望 header.php 在被特定页面调用时有一些细微的变化。我如何根据调用文件的页面动态更改 header.php 文件?

这是我的代码:

HEADER.PHP

<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/angel-header.css">
<!-- RENAME THIS CSS FILE APPROPRIATELY -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>

<body class="m-price_update price_starway vb lang-en webp">

  <header class="angelmod-site-header">
    <div class="angelmod-wrapper">
      <a href="#">
        <img src="img/logo_sb.png" alt="Small Builders">
      </a>
      <nav class="angelmod-site-nav">
        <ul class="angelmod-nav-list">
          <li><a href="#">Home</a>
          </li>
          <li><a href="#">Products</a>
          </li>
          <li><a href="#">Signup</a>
          </li>
          <li><a href="#">Login</a>
          </li>
        </ul>
      </nav>
      <div class="angel-mod-navbtn">
        <div class="angel-mod-navbtn-bars"></div>
        <div class="angel-mod-navbtn-bars"></div>
        <div class="angel-mod-navbtn-bars"></div>
      </div>
    </div>
    <script src="js/angel-header.js"></script>
    <!-- RENAME THIS JS FILE APPROPRIATELY -->
  </header>

我有一个 products.php 文件需要将主体标签更改为:<body class="m-price_update price_starway vb lang-en webp"> 现在 header.php 只有 <body>

请不要问为什么页面之间的正文不同,这是以前开发人员的工作,我的任务是不更改这些内容。

执行包含的文件中定义的任何变量都将在包含的文件中可用。只需在包含文件中定义一个变量,标识需要在包含文件中完成的操作。

// products.php
$include_option = 'products';
include('header.php');

然后在包含的文件中,在适当的地方引用该变量以有条件地做任何需要做的事情:

// header.php
...
<?php if ($include_option == 'products') { ?>
    <body class="m-price_update price_starway vb lang-en webp">
<?php } else { ?>
    <body class="something else">
<?php } ?>
...