是否可以从不同的文件夹来源 link 到 header.php 和 footer.php?

Is it possible to link to a header.php and footer.php from different folder sources?

我是 PHP 的初学者。 我有多个网页位于不同的位置。那么,当我希望从不同文件夹中的网页 link 到 header.php 和 footer.php 时,是否可以这样做?如图所示,我必须创建三个不同的文件夹,包含相同的文件 header.php 和 footer.php,以便能够从三个不同的来源 link。 谨致问候!

   Assign values for $h_path and $f_path dynamically.
    <?php 

   $h_path = '';
   $f_path = '';

   include($h_path.'header.php'); 
   include($f_path.'footer.php'); 
   ?>

对于没有提供足够的问题信息,我深表歉意。我的问题是,当 index.php 分别通过 "includes/header.php" 和 "includes/footer.php" 引用页眉和页脚时,其他网页位于另一个需要通过“访问包含文件夹”的文件夹中。 ./includes/header.php”。引用文件时没有问题,但当 headers.php 将其写入仅适用于 index.php 的网页时,就会出现问题。例如,只适用于 index.php 但不适用于需要的文件夹内的 php 文件,但我会尝试使用 $h_path = '';和 $f_path = '' 很快。

是的,可以使用单个 footer.php 和单个 header.php 文件并随时加载它们你需要。

我建议您可以创建一个包含文件夹,然后在包含文件夹中创建另一个名为 common 的文件夹,您将在其中放置在整个网站中始终相同的元素的网站,即页脚和header.

然后我还会在包含我将放置我的网站功能的地方放置一个功能文件。此函数文件中包含一个函数,我将在任何时候使用 header.phpfooter.php 文件。

Functions.php

<?php

    function loadView($viename,$meta=[]){
        //load footer/header page
        include_once "common/$viename.php";
}

//any other functions

loadView() 函数可以随时加载这两个动态文件。此函数有两个参数 1 可选。第一个参数是要加载的视图的名称,即 headerfooter 然后第二个参数是对 header 文件重要的元信息,如页面标题和元描述需要是动态的,根据页面变化。

header.php

<!DOCTYPE html>
<html>
<head>
    <title><?=$meta['pagetitle']?><!-- Dynamic page title --></title>
    <meta name="description" content="<?=$meta['pagedescription']?>"><!-- Dynamic description -->

    <!-- load your styles -->
</head>
<body>
    <header>
        <nav>
            <!-- Your page navigation -->
            <ul>
                <li><a href="index.php">Home</a></li>
                <li><a href="about.php">About</a></li>
                <li><a href="anotherpage">Another Page</a>
            </ul>
        </nav>
    </header>

footer.php

<footer>
    footer content

    <p>&copy; website name <?=date('Y')?>
</footer>

</body>
</html>

主要网站页面

您的主要网站页面是索引、关于、服务等页面

在这些页面中,您将加载函数文件,然后能够加载 header 和页脚。

index.php

<?php
    include 'includes/functions.php';

    //meta info
$meta = array(
        'pagetitle' => 'Welcome to my site | site | bla bla',
        'pagedescription' => 'This is your website description'
   );

loadview('header',$meta); //load heade
?>

<section>
    <div id="content">
        <p>Page Content</p>
    </div>

</section>
<?php

    loadview("footer"); //load footer
?>

关于页面

<?php
    include 'includes/functions.php';
$meta = array(
        'pagetitle' => 'About Us',
        'pagedescription' => 'This is about page'
   );

loadview('header',$meta);
?>

<section>
    <div id="content">
        <p>Page Content</p>
    </div>

</section>
<!-- load footer -->
<?php

    loadview("footer");
?>

希望这能让您了解如何实现目标,实现目标的方法有很多。

当您需要任何帮助时请告诉我