簡體   English   中英

是否可以從不同的文件夾源鏈接到header.php和footer.php?

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

我是PHP的初學者。 我有多個位於不同位置的網頁。 因此,當我希望從不同文件夾中的網頁鏈接到header.php和footer.php時,可以這樣做嗎? 如圖所示,我必須創建三個不同的文件夾,其中包含相同的文件header.php和footer.php,以便能夠從三個不同的來源進行鏈接。 最誠摯的問候!

在此處輸入圖片說明

是的,可以使用單個footer.php和單個header.php文件,並在需要時隨時加載它們。

我建議您可以做的是創建一個include文件夾,然后在include文件夾內創建另一個名為common的文件夾,在該文件夾中,您將放置網站,該元素在整個網站中始終相同,即頁腳和頁眉。

那么我還將功能文件放置在包含我的網站功能的include內。 該函數文件中包含的函數是我想使用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.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>

網站主頁

您的主要網站頁面是諸如索引,關於,服務等頁面。

在這些頁面中,您將加載功能文件,然后能夠加載頁眉和頁腳。

的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");
?>

希望這能為您提供有關如何實現目標的想法,有很多方法可以實現這一目標。

需要幫助時讓我知道

   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編寫時,如果headers.php定位到內部網頁,則會出現此問題。 例如,僅在index.php上有效,而在需要該文件夾內的php文件上無效,但是我將嘗試使用$ h_path =''; 和$ f_path =”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM